Skip to content
Open
14 changes: 14 additions & 0 deletions IdentityCore/IdentityCore.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -546,6 +546,10 @@
2A366B782D9EF67700774DD4 /* MSIDXpcSingleSignOnProviderTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A366B772D9EF67700774DD4 /* MSIDXpcSingleSignOnProviderTest.m */; };
2A366B7B2D9EF78600774DD4 /* MSIDXpcProviderCacheMock.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A366B792D9EF78600774DD4 /* MSIDXpcProviderCacheMock.h */; };
2A366B7C2D9EF78600774DD4 /* MSIDXpcProviderCacheMock.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A366B7A2D9EF78600774DD4 /* MSIDXpcProviderCacheMock.m */; };
2A36F39B2EA6B58300E27528 /* MSIDTelemetryProviding.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A36F39A2EA6B58300E27528 /* MSIDTelemetryProviding.h */; };
2A36F3A02EA80A8400E27528 /* MSIDTestTelemetryProvider.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A36F39D2EA80A8400E27528 /* MSIDTestTelemetryProvider.m */; };
2A36F3A12EA80A8400E27528 /* MSIDTestTelemetryProvider.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A36F39C2EA80A8400E27528 /* MSIDTestTelemetryProvider.h */; };
2A36F3A22EA80A8400E27528 /* MSIDTestTelemetryProvider.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A36F39D2EA80A8400E27528 /* MSIDTestTelemetryProvider.m */; };
2A59B4202D76618900304FB1 /* MSIDXpcProviderCache.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A59B41D2D76618900304FB1 /* MSIDXpcProviderCache.h */; };
2A59B4212D76618900304FB1 /* MSIDXpcProviderCache.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A59B41E2D76618900304FB1 /* MSIDXpcProviderCache.m */; };
2A59B42C2D776F3400304FB1 /* MSIDXpcConfiguration.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A59B42B2D776F3400304FB1 /* MSIDXpcConfiguration.m */; };
Expand Down Expand Up @@ -2494,6 +2498,9 @@
2A366B772D9EF67700774DD4 /* MSIDXpcSingleSignOnProviderTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MSIDXpcSingleSignOnProviderTest.m; sourceTree = "<group>"; };
2A366B792D9EF78600774DD4 /* MSIDXpcProviderCacheMock.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MSIDXpcProviderCacheMock.h; sourceTree = "<group>"; };
2A366B7A2D9EF78600774DD4 /* MSIDXpcProviderCacheMock.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MSIDXpcProviderCacheMock.m; sourceTree = "<group>"; };
2A36F39A2EA6B58300E27528 /* MSIDTelemetryProviding.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MSIDTelemetryProviding.h; sourceTree = "<group>"; };
2A36F39C2EA80A8400E27528 /* MSIDTestTelemetryProvider.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MSIDTestTelemetryProvider.h; sourceTree = "<group>"; };
2A36F39D2EA80A8400E27528 /* MSIDTestTelemetryProvider.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MSIDTestTelemetryProvider.m; sourceTree = "<group>"; };
2A59B41D2D76618900304FB1 /* MSIDXpcProviderCache.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MSIDXpcProviderCache.h; sourceTree = "<group>"; };
2A59B41E2D76618900304FB1 /* MSIDXpcProviderCache.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MSIDXpcProviderCache.m; sourceTree = "<group>"; };
2A59B42A2D776F3400304FB1 /* MSIDXpcConfiguration.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MSIDXpcConfiguration.h; sourceTree = "<group>"; };
Expand Down Expand Up @@ -4653,6 +4660,7 @@
233E96F222652C5B007FCE2A /* MSIDTelemetryEventsObserving.h */,
233E96F422652D3A007FCE2A /* MSIDAggregatedDispatcher.h */,
233E96F522652D3A007FCE2A /* MSIDAggregatedDispatcher.m */,
2A36F39A2EA6B58300E27528 /* MSIDTelemetryProviding.h */,
);
path = telemetry;
sourceTree = "<group>";
Expand Down Expand Up @@ -5935,6 +5943,8 @@
237034432D56AA7F00D6A70B /* MSIDSwitchBrowserResumeOperationTest.swift */,
2A0278902D6E3216005655B4 /* MSIDAADTokenRequestServerTelemetryTests.m */,
2376D8DC2D88FDE900ADC271 /* MSIDBrowserNativeMessageGetSupportedContractsResponseTests.m */,
2A36F39C2EA80A8400E27528 /* MSIDTestTelemetryProvider.h */,
2A36F39D2EA80A8400E27528 /* MSIDTestTelemetryProvider.m */,
);
path = tests;
sourceTree = "<group>";
Expand Down Expand Up @@ -6346,6 +6356,7 @@
B2EF143A1FF2F225005DC1C0 /* MSIDAADV2TokenResponse.h in Headers */,
9641B5011FCF3E2700AFA0EC /* MSIDTokenCacheDataSource.h in Headers */,
B49323912AD491C600E0CBC0 /* MSIDBrokerOperationPasskeyAssertionRequest.h in Headers */,
2A36F39B2EA6B58300E27528 /* MSIDTelemetryProviding.h in Headers */,
233E96F122652B8B007FCE2A /* MSIDDefaultDispatcher+Internal.h in Headers */,
B2AE0FDD2427E9FC00B8FAF1 /* MSIDKeychainUtil+MacInternal.h in Headers */,
23F9FD4622EC08D800DAB65D /* NSKeyedUnarchiver+MSIDExtensions.h in Headers */,
Expand Down Expand Up @@ -6528,6 +6539,7 @@
B2E4A07224DDE56A007CE642 /* MSIDTestCacheAccessorHelper.h in Headers */,
B245C2F92106ABDC00CD5A52 /* MSIDTestIdTokenUtil.h in Headers */,
1E0B145024CF5ADD00825143 /* MSIDAssymetricKeyPair+Test.h in Headers */,
2A36F3A12EA80A8400E27528 /* MSIDTestTelemetryProvider.h in Headers */,
B233F8BE219CE04200DC90E3 /* MSIDTestURLResponse+Util.h in Headers */,
D6D9A44C1FBD3EEA00EFA430 /* NSDictionary+MSIDTestUtil.h in Headers */,
B2BE925321A24B8200F5AB8C /* MSIDTestTokenRequestProvider.h in Headers */,
Expand Down Expand Up @@ -7913,6 +7925,7 @@
729357EF2DDBCBAE0001D03C /* MSIDNonceTokenRequestMock.m in Sources */,
B2BE926921A25F8300F5AB8C /* MSIDTestBrokerResponseHandler.m in Sources */,
583BFCB624D908980035B901 /* MSIDTestBundle.m in Sources */,
2A36F3A02EA80A8400E27528 /* MSIDTestTelemetryProvider.m in Sources */,
58D1514324A6888D001DD18A /* MSIDHttpRequest+OverrideCacheSave.m in Sources */,
231CE9C31FE871FA00E95D3E /* MSIDKeychainTokenCache+MSIDTestsUtil.m in Sources */,
1E0B145124CF5ADD00825143 /* MSIDAssymetricKeyPair+Test.m in Sources */,
Expand Down Expand Up @@ -7969,6 +7982,7 @@
B245C2FB2106ABDC00CD5A52 /* MSIDTestIdTokenUtil.m in Sources */,
B2E4A07124DDE568007CE642 /* MSIDTestCacheAccessorHelper.m in Sources */,
729357F02DDBCBAE0001D03C /* MSIDNonceTokenRequestMock.m in Sources */,
2A36F3A22EA80A8400E27528 /* MSIDTestTelemetryProvider.m in Sources */,
B233F8BC219CE03F00DC90E3 /* MSIDTestURLResponse+Util.m in Sources */,
B2968CA922F67B4C005AFC33 /* MSIDTestLocalInteractiveController.m in Sources */,
B2BE923D21A0FD2B00F5AB8C /* MSIDTestSwizzle.m in Sources */,
Expand Down
3 changes: 3 additions & 0 deletions IdentityCore/src/controllers/MSIDBaseRequestController.h
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@
#import "MSIDRequestParameters.h"
#import "MSIDTelemetryConditionalCompile.h"
#import "MSIDTokenRequestProviding.h"
#import "MSIDTelemetryProviding.h"

@class MSIDTelemetryAPIEvent;
@protocol MSIDRequestControlling;
Expand All @@ -41,10 +42,12 @@ typedef void(^MSIDAuthorityCompletion)(BOOL resolved, NSError * _Nullable error)
@property (nonatomic, readonly, nullable) MSIDRequestParameters *requestParameters;
@property (nonatomic, readonly, nullable) id<MSIDTokenRequestProviding> tokenRequestProvider;
@property (nonatomic, readonly, nullable) id<MSIDRequestControlling> fallbackController;
@property (nonatomic, readonly, nullable) id<MSIDTelemetryProviding> telemetry;

- (nullable instancetype)initWithRequestParameters:(nonnull MSIDRequestParameters *)parameters
tokenRequestProvider:(nonnull id<MSIDTokenRequestProviding>)tokenRequestProvider
fallbackController:(nullable id<MSIDRequestControlling>)fallbackController
telemetry:(nullable id<MSIDTelemetryProviding>)telemetry
error:(NSError * _Nullable __autoreleasing * _Nullable)error;

#if !EXCLUDE_FROM_MSALCPP
Expand Down
3 changes: 3 additions & 0 deletions IdentityCore/src/controllers/MSIDBaseRequestController.m
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@ @interface MSIDBaseRequestController()
@property (nonatomic, readwrite) MSIDRequestParameters *requestParameters;
@property (nonatomic, readwrite) id<MSIDTokenRequestProviding> tokenRequestProvider;
@property (nonatomic, readwrite) id<MSIDRequestControlling> fallbackController;
@property (nonatomic, readwrite) id<MSIDTelemetryProviding> telemetry;

@end

Expand All @@ -41,13 +42,15 @@ @implementation MSIDBaseRequestController
- (nullable instancetype)initWithRequestParameters:(nonnull MSIDRequestParameters *)parameters
tokenRequestProvider:(nonnull id<MSIDTokenRequestProviding>)tokenRequestProvider
fallbackController:(nullable id<MSIDRequestControlling>)fallbackController
telemetry:(nullable id<MSIDTelemetryProviding>)telemetry
error:(NSError * _Nullable __autoreleasing * _Nullable)error
{
self = [super init];

if (self)
{
_requestParameters = parameters;
_telemetry = telemetry;

NSError *parametersError = nil;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,7 @@ - (nullable instancetype)initWithInteractiveRequestParameters:(nonnull MSIDInter
self = [super initWithRequestParameters:parameters
tokenRequestProvider:tokenRequestProvider
fallbackController:nil
telemetry:nil
error:error];

if (self)
Expand Down Expand Up @@ -174,6 +175,7 @@ - (void)promptBrokerInstallWithResponse:(__unused MSIDWebWPJResponse *)response
MSIDBrokerInteractiveController *brokerController = [[MSIDBrokerInteractiveController alloc] initWithInteractiveRequestParameters:self.interactiveRequestParamaters
tokenRequestProvider:self.tokenRequestProvider
brokerInstallLink:[NSURL URLWithString:response.appInstallLink]
telemetry:nil
error:&brokerError];

if (!brokerController)
Expand Down
2 changes: 2 additions & 0 deletions IdentityCore/src/controllers/MSIDRequestControllerFactory.h
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@
#import <Foundation/Foundation.h>
#import "MSIDRequestControlling.h"
#import "MSIDTokenRequestProviding.h"
#import "MSIDTelemetryProviding.h"

@class MSIDInteractiveTokenRequestParameters;
@class MSIDRequestParameters;
Expand All @@ -44,6 +45,7 @@ typedef NS_ENUM(NSInteger, MSIDSilentControllerLocalRtUsageType)
forceRefresh:(BOOL)forceRefresh
skipLocalRt:(MSIDSilentControllerLocalRtUsageType)skipLocalRt
tokenRequestProvider:(nonnull id<MSIDTokenRequestProviding>)tokenRequestProvider
telemetry:(nullable id<MSIDTelemetryProviding>)telemetry
error:(NSError * _Nullable __autoreleasing * _Nullable)error;

+ (nullable id<MSIDRequestControlling>)interactiveControllerForParameters:(nonnull MSIDInteractiveTokenRequestParameters *)parameters
Expand Down
14 changes: 14 additions & 0 deletions IdentityCore/src/controllers/MSIDRequestControllerFactory.m
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@ @implementation MSIDRequestControllerFactory
forceRefresh:(BOOL)forceRefresh
skipLocalRt:(MSIDSilentControllerLocalRtUsageType)skipLocalRt
tokenRequestProvider:(id<MSIDTokenRequestProviding>)tokenRequestProvider
telemetry:(id<MSIDTelemetryProviding>)telemetry
error:(NSError *__autoreleasing*)error
{
if (parameters.xpcMode == MSIDXpcModeDisabled)
Expand All @@ -54,6 +55,7 @@ @implementation MSIDRequestControllerFactory
forceRefresh:forceRefresh
skipLocalRt:skipLocalRt
tokenRequestProvider:tokenRequestProvider
telemetry:telemetry
error:error];
}
else
Expand All @@ -62,6 +64,7 @@ @implementation MSIDRequestControllerFactory
forceRefresh:forceRefresh
skipLocalRt:skipLocalRt
tokenRequestProvider:tokenRequestProvider
telemetry:telemetry
error:error];
}
}
Expand All @@ -70,6 +73,7 @@ @implementation MSIDRequestControllerFactory
forceRefresh:(BOOL)forceRefresh
skipLocalRt:(MSIDSilentControllerLocalRtUsageType)skipLocalRt
tokenRequestProvider:(id<MSIDTokenRequestProviding>)tokenRequestProvider
telemetry:(id<MSIDTelemetryProviding>)telemetry
error:(NSError *__autoreleasing*)error
{
// Nested auth protocol - Reverse client id & redirect uri
Expand All @@ -90,6 +94,7 @@ @implementation MSIDRequestControllerFactory
localController = [[MSIDSilentController alloc] initWithRequestParameters:parameters
forceRefresh:YES
tokenRequestProvider:tokenRequestProvider
telemetry:telemetry
error:error];
localController.isLocalFallbackMode = YES;
}
Expand All @@ -98,6 +103,7 @@ @implementation MSIDRequestControllerFactory
forceRefresh:forceRefresh
tokenRequestProvider:tokenRequestProvider
fallbackInteractiveController:localController
telemetry:telemetry
error:error];
}
}
Expand All @@ -114,6 +120,7 @@ @implementation MSIDRequestControllerFactory
forceRefresh:forceRefresh
tokenRequestProvider:tokenRequestProvider
fallbackInteractiveController:brokerController
telemetry:telemetry
error:error];
if (!localController)
{
Expand Down Expand Up @@ -142,6 +149,7 @@ @implementation MSIDRequestControllerFactory
forceRefresh:(BOOL)forceRefresh
skipLocalRt:(MSIDSilentControllerLocalRtUsageType)skipLocalRt
tokenRequestProvider:(id<MSIDTokenRequestProviding>)tokenRequestProvider
telemetry:(id<MSIDTelemetryProviding>)telemetry
error:(NSError *__autoreleasing*)error
{
// Nested auth protocol - Reverse client id & redirect uri
Expand All @@ -159,6 +167,7 @@ @implementation MSIDRequestControllerFactory
fallbackController = [[MSIDSilentController alloc] initWithRequestParameters:parameters
forceRefresh:YES
tokenRequestProvider:tokenRequestProvider
telemetry:telemetry
error:error];
fallbackController.isLocalFallbackMode = YES;
}
Expand All @@ -171,6 +180,7 @@ @implementation MSIDRequestControllerFactory
forceRefresh:forceRefresh
tokenRequestProvider:tokenRequestProvider
fallbackInteractiveController:fallbackController
telemetry:telemetry
error:error];
if (parameters.xpcMode == MSIDXpcModeSSOExtBackup || parameters.xpcMode == MSIDXpcModePrimary)
{
Expand All @@ -189,6 +199,7 @@ @implementation MSIDRequestControllerFactory
forceRefresh:forceRefresh
tokenRequestProvider:tokenRequestProvider
fallbackInteractiveController:xpcController?:fallbackController
telemetry:telemetry
error:error];
}
}
Expand All @@ -202,6 +213,7 @@ @implementation MSIDRequestControllerFactory
forceRefresh:forceRefresh
tokenRequestProvider:tokenRequestProvider
fallbackInteractiveController:fallbackController
telemetry:telemetry
error:error];
if (!silentController)
{
Expand Down Expand Up @@ -250,6 +262,7 @@ @implementation MSIDRequestControllerFactory
forceRefresh:NO
tokenRequestProvider:tokenRequestProvider
fallbackInteractiveController:interactiveController
telemetry:nil
error:error];
}

Expand Down Expand Up @@ -296,6 +309,7 @@ @implementation MSIDRequestControllerFactory
brokerController = [[MSIDBrokerInteractiveController alloc] initWithInteractiveRequestParameters:parameters
tokenRequestProvider:tokenRequestProvider
fallbackController:fallbackController
telemetry:nil
error:&brokerControllerError];

if (brokerControllerError)
Expand Down
Loading
Loading