Skip to content
Open
32 changes: 32 additions & 0 deletions IdentityCore/IdentityCore.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -546,6 +546,13 @@
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 */; };
2A36F4232EA9360900E27528 /* MSIDClientTelemetryConstants.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A36F4222EA9360900E27528 /* MSIDClientTelemetryConstants.m */; };
2A36F4242EA9360900E27528 /* MSIDClientTelemetryConstants.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A36F4212EA9360900E27528 /* MSIDClientTelemetryConstants.h */; };
2A36F4252EA9360900E27528 /* MSIDClientTelemetryConstants.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A36F4222EA9360900E27528 /* MSIDClientTelemetryConstants.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 +2501,11 @@
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>"; };
2A36F4212EA9360900E27528 /* MSIDClientTelemetryConstants.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MSIDClientTelemetryConstants.h; sourceTree = "<group>"; };
2A36F4222EA9360900E27528 /* MSIDClientTelemetryConstants.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MSIDClientTelemetryConstants.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 @@ -4176,6 +4188,16 @@
path = claims;
sourceTree = "<group>";
};
2A36F4202EA935CC00E27528 /* client_telemetry */ = {
isa = PBXGroup;
children = (
2A36F4212EA9360900E27528 /* MSIDClientTelemetryConstants.h */,
2A36F4222EA9360900E27528 /* MSIDClientTelemetryConstants.m */,
2A36F39A2EA6B58300E27528 /* MSIDTelemetryProviding.h */,
);
path = client_telemetry;
sourceTree = "<group>";
};
2A953DF62DA45A9700A748BA /* mac */ = {
isa = PBXGroup;
children = (
Expand Down Expand Up @@ -4614,6 +4636,7 @@
B206578A1FC917D900412B7D /* telemetry */ = {
isa = PBXGroup;
children = (
2A36F4202EA935CC00E27528 /* client_telemetry */,
239222AC243D3791009736C4 /* request_telemetry */,
B20657A41FC91C1600412B7D /* MSIDTelemetryDispatcher.h */,
B20657981FC91BE000412B7D /* MSIDTelemetryEventInterface.h */,
Expand Down Expand Up @@ -5935,6 +5958,8 @@
237034432D56AA7F00D6A70B /* MSIDSwitchBrowserResumeOperationTest.swift */,
2A0278902D6E3216005655B4 /* MSIDAADTokenRequestServerTelemetryTests.m */,
2376D8DC2D88FDE900ADC271 /* MSIDBrowserNativeMessageGetSupportedContractsResponseTests.m */,
2A36F39C2EA80A8400E27528 /* MSIDTestTelemetryProvider.h */,
2A36F39D2EA80A8400E27528 /* MSIDTestTelemetryProvider.m */,
);
path = tests;
sourceTree = "<group>";
Expand Down Expand Up @@ -6066,6 +6091,7 @@
B2C7089C219926C200D917B8 /* MSIDBrokerResponse+Internal.h in Headers */,
2A59B43A2D78FE6B00304FB1 /* MSIDSSORemoteInteractiveTokenRequest.h in Headers */,
2A2481602CB08344006FCB34 /* MSIDXpcSilentTokenRequestController.h in Headers */,
2A36F4242EA9360900E27528 /* MSIDClientTelemetryConstants.h in Headers */,
B286B9C72389DE7F007833AD /* MSIDAccountMetadataCacheAccessor.h in Headers */,
B286B9B12389DD6C007833AD /* MSIDPKeyAuthHandler.h in Headers */,
E733EDD525C0A47600ACB79A /* MSIDThumbprintCalculatable.h in Headers */,
Expand Down Expand Up @@ -6346,6 +6372,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 +6555,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 @@ -7571,6 +7599,7 @@
B286B99F2389DCBA007833AD /* MSIDRequestParameters+Broker.m in Sources */,
2A24814D2CB06A1A006FCB34 /* MSIDSSORemoteSilentTokenRequest.m in Sources */,
B26A0B7F2071ADCE006BD95A /* MSIDOauth2Factory.m in Sources */,
2A36F4232EA9360900E27528 /* MSIDClientTelemetryConstants.m in Sources */,
B217863A23A5994300839CE8 /* MSIDSSOExtensionSignoutController.m in Sources */,
B2C707FF2192530E00D917B8 /* MSIDDefaultSilentTokenRequest.m in Sources */,
60F94D332210E8BD0035D956 /* MSIDV1IdToken.m in Sources */,
Expand Down Expand Up @@ -7913,6 +7942,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 +7999,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 Expand Up @@ -8209,6 +8240,7 @@
235C2B032D6FAF7900DEFEFB /* MSIDSwitchBrowserOperation.m in Sources */,
B2C708732198C42200D917B8 /* MSIDLegacyBrokerResponseHandler.m in Sources */,
886F517029CCA84200F09471 /* MSIDCIAMAuthorityResolver.m in Sources */,
2A36F4252EA9360900E27528 /* MSIDClientTelemetryConstants.m in Sources */,
238E19D82086FE28004DF483 /* MSIDAADRefreshTokenGrantRequest.m in Sources */,
B2C7088E2198E48E00D917B8 /* NSData+MSIDAES.m in Sources */,
238A04902089A3C800989EE0 /* MSIDHttpRequestTelemetry.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
Loading
Loading