Skip to content

Commit 2528083

Browse files
authored
Merge pull request #1631 from AzureAD/release/1.18.0
Release 1.18.0
2 parents 6b2d9fe + 49cdbd4 commit 2528083

37 files changed

+761
-124
lines changed

IdentityCore/IdentityCore.xcodeproj/project.pbxproj

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -535,6 +535,7 @@
535535
2A0278912D6E3216005655B4 /* MSIDAADTokenRequestServerTelemetryTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A0278902D6E3216005655B4 /* MSIDAADTokenRequestServerTelemetryTests.m */; };
536536
2A0278922D6E3216005655B4 /* MSIDAADTokenRequestServerTelemetryTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A0278902D6E3216005655B4 /* MSIDAADTokenRequestServerTelemetryTests.m */; };
537537
2A0278A32D6E3787005655B4 /* MSIDLastRequestTelemetry+Tests.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A0278A22D6E3787005655B4 /* MSIDLastRequestTelemetry+Tests.h */; };
538+
2A1CBC892ECE5F6E00D2E6BB /* MSIDGCDStarvationDetector.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A886D6C2ECBE3D600675D31 /* MSIDGCDStarvationDetector.h */; };
538539
2A24814D2CB06A1A006FCB34 /* MSIDSSORemoteSilentTokenRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A24814C2CB06A1A006FCB34 /* MSIDSSORemoteSilentTokenRequest.m */; };
539540
2A24814E2CB06A1A006FCB34 /* MSIDSSORemoteSilentTokenRequest.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A24814B2CB06A1A006FCB34 /* MSIDSSORemoteSilentTokenRequest.h */; };
540541
2A24814F2CB06A1A006FCB34 /* MSIDSSORemoteSilentTokenRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A24814C2CB06A1A006FCB34 /* MSIDSSORemoteSilentTokenRequest.m */; };
@@ -558,6 +559,8 @@
558559
2A59B4402D7924E400304FB1 /* MSIDSSOXpcInteractiveTokenRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A59B43D2D7924E400304FB1 /* MSIDSSOXpcInteractiveTokenRequest.m */; };
559560
2A59B4442D7A0CB500304FB1 /* MSIDXpcInteractiveTokenRequestController.h in Headers */ = {isa = PBXBuildFile; fileRef = 2A59B4412D7A0CB500304FB1 /* MSIDXpcInteractiveTokenRequestController.h */; };
560561
2A59B4452D7A0CB500304FB1 /* MSIDXpcInteractiveTokenRequestController.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A59B4422D7A0CB500304FB1 /* MSIDXpcInteractiveTokenRequestController.m */; };
562+
2A886D6E2ECBE3D600675D31 /* MSIDGCDStarvationDetector.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A886D6D2ECBE3D600675D31 /* MSIDGCDStarvationDetector.m */; };
563+
2A886D702ECBE3D600675D31 /* MSIDGCDStarvationDetector.m in Sources */ = {isa = PBXBuildFile; fileRef = 2A886D6D2ECBE3D600675D31 /* MSIDGCDStarvationDetector.m */; };
561564
2AADDAC72DADB84D00CB7740 /* MSIDSSOXpcSilentTokenRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = 2AADDAC62DADB84D00CB7740 /* MSIDSSOXpcSilentTokenRequest.m */; };
562565
2AADDAC82DADB84D00CB7740 /* MSIDSSOXpcSilentTokenRequest.h in Headers */ = {isa = PBXBuildFile; fileRef = 2AADDAC52DADB84D00CB7740 /* MSIDSSOXpcSilentTokenRequest.h */; };
563566
4B6D22262E831B0B00546EC8 /* MSIDFlightManagerQueryKeyDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 4B6D22252E831AEA00546EC8 /* MSIDFlightManagerQueryKeyDelegate.h */; };
@@ -2515,6 +2518,8 @@
25152518
2A59B43D2D7924E400304FB1 /* MSIDSSOXpcInteractiveTokenRequest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MSIDSSOXpcInteractiveTokenRequest.m; sourceTree = "<group>"; };
25162519
2A59B4412D7A0CB500304FB1 /* MSIDXpcInteractiveTokenRequestController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MSIDXpcInteractiveTokenRequestController.h; sourceTree = "<group>"; };
25172520
2A59B4422D7A0CB500304FB1 /* MSIDXpcInteractiveTokenRequestController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MSIDXpcInteractiveTokenRequestController.m; sourceTree = "<group>"; };
2521+
2A886D6C2ECBE3D600675D31 /* MSIDGCDStarvationDetector.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MSIDGCDStarvationDetector.h; sourceTree = "<group>"; };
2522+
2A886D6D2ECBE3D600675D31 /* MSIDGCDStarvationDetector.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MSIDGCDStarvationDetector.m; sourceTree = "<group>"; };
25182523
2AADDAC52DADB84D00CB7740 /* MSIDSSOXpcSilentTokenRequest.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MSIDSSOXpcSilentTokenRequest.h; sourceTree = "<group>"; };
25192524
2AADDAC62DADB84D00CB7740 /* MSIDSSOXpcSilentTokenRequest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MSIDSSOXpcSilentTokenRequest.m; sourceTree = "<group>"; };
25202525
4B6D22252E831AEA00546EC8 /* MSIDFlightManagerQueryKeyDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MSIDFlightManagerQueryKeyDelegate.h; sourceTree = "<group>"; };
@@ -5283,6 +5288,8 @@
52835288
B2C7087F2198DE0000D917B8 /* broker */ = {
52845289
isa = PBXGroup;
52855290
children = (
5291+
2A886D6C2ECBE3D600675D31 /* MSIDGCDStarvationDetector.h */,
5292+
2A886D6D2ECBE3D600675D31 /* MSIDGCDStarvationDetector.m */,
52865293
2A953DF72DA45B3100A748BA /* mac */,
52875294
B2C708812198DE0000D917B8 /* MSIDBrokerKeyProvider.h */,
52885295
B2C708822198DE0000D917B8 /* MSIDBrokerKeyProvider.m */,
@@ -6514,6 +6521,7 @@
65146521
B286B9C52389DE78007833AD /* MSIDAccountMetadata.h in Headers */,
65156522
B2F671E32467A30400649855 /* MSIDInteractiveAuthorizationCodeRequest.h in Headers */,
65166523
1E707FE02407336300716148 /* MSIDBrokerBrowserOperationResponse.h in Headers */,
6524+
2A1CBC892ECE5F6E00D2E6BB /* MSIDGCDStarvationDetector.h in Headers */,
65176525
B4A5ACCD21F7ED4500D2A780 /* MSIDAccountCacheItem+MSIDAccountMatchers.h in Headers */,
65186526
F7AB29D8B906BEA5B6EB8F8C /* MSIDWPJMetadata.h in Headers */,
65196527
);
@@ -7450,6 +7458,7 @@
74507458
B29A36C120B1289D00427B63 /* MSIDAccountIdentifier.m in Sources */,
74517459
B2EE86E123751B6F00D0BC96 /* MSIDSystemWebviewController.m in Sources */,
74527460
B266903E243706CF00FB0117 /* MSIDBrokerOperationBrowserTokenRequest.m in Sources */,
7461+
2A886D702ECBE3D600675D31 /* MSIDGCDStarvationDetector.m in Sources */,
74537462
1E37AAD5252196CC00EBED3B /* NSData+JWT.m in Sources */,
74547463
B286B9872389DC24007833AD /* MSIDBrokerOperationGetAccountsRequest.m in Sources */,
74557464
B297E1F220A25F0C00F370EC /* MSIDLegacyTokenCacheItem.m in Sources */,
@@ -8372,6 +8381,7 @@
83728381
B2DD4B2720A7D67C0047A66E /* MSIDLegacyRefreshToken.m in Sources */,
83738382
1EE541412458B30300A86414 /* MSIDDevicePopManager.m in Sources */,
83748383
B27ACAA922EE9FE60049ACE0 /* MSIDIntuneApplicationStateManager.m in Sources */,
8384+
2A886D6E2ECBE3D600675D31 /* MSIDGCDStarvationDetector.m in Sources */,
83758385
B297E1E220A1272600F370EC /* MSIDLegacyTokenCacheQuery.m in Sources */,
83768386
60F7BE8B21DA4E2900F1BBA1 /* MSIDPrimaryRefreshToken.m in Sources */,
83778387
B214C39F1FE854FE0070C4F2 /* MSIDLegacyTokenCacheAccessor.m in Sources */,

IdentityCore/src/MSIDBrokerConstants.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,7 @@ extern NSString * _Nonnull const MSID_IS_CALLER_MANAGED_KEY;
9999
extern NSString * _Nonnull const MSID_BROKER_PREFERRED_AUTH_CONFIGURATION_KEY;
100100
extern NSString * _Nonnull const MSID_BROKER_CLIENT_FLIGHTS_KEY;
101101
extern NSString * _Nonnull const MSID_BROKER_SDM_WPJ_ATTEMPTED;
102+
extern NSString * _Nonnull const MSID_BART_DEVICE_ID_KEY;
102103
extern NSString * _Nonnull const MSID_EXP_RETRY_ON_NETWORK;
103104
extern NSString * _Nonnull const MSID_EXP_ENABLE_CONNECTION_CLOSE;
104105
extern NSString * _Nonnull const MSID_HTTP_CONNECTION;

IdentityCore/src/MSIDBrokerConstants.m

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,7 @@
9797
NSString *const MSID_JIT_TROUBLESHOOTING_HOST = @"jit_troubleshooting";
9898
NSString *const MSID_IS_CALLER_MANAGED_KEY = @"isCallerAppManaged";
9999
NSString *const MSID_BROKER_SDM_WPJ_ATTEMPTED = @"sdm_reg_attempted";
100+
NSString *const MSID_BART_DEVICE_ID_KEY = @"bart_device_id";
100101
NSString *const MSID_FORCE_REFRESH_KEY = @"force_refresh";
101102

102103
// Experiments

IdentityCore/src/MSIDConstants.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -235,6 +235,9 @@ extern NSString * _Nonnull const MSID_FLIGHT_DISABLE_REMOVE_ACCOUNT_ARTIFACTS;
235235
extern NSString * _Nonnull const MSID_FLIGHT_ENABLE_QUERYING_STK;
236236
extern NSString * _Nonnull const MSID_FLIGHT_IS_BART_SUPPORTED;
237237

238+
extern NSString * _Nonnull const MSID_FLIGHT_USE_AUTOLAYOUT_FOR_LOADING_INDICATOR;
239+
238240
extern NSString * _Nonnull const MSID_DOMAIN_HINT_KEY;
239241

242+
extern NSString * _Nonnull const MSID_FLIGHT_ENABLE_THREAD_STARVATION;
240243
#define METHODANDLINE [NSString stringWithFormat:@"%s [Line %d]", __PRETTY_FUNCTION__, __LINE__]

IdentityCore/src/MSIDConstants.m

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,11 @@
100100
NSString *const MSID_FLIGHT_ENABLE_QUERYING_STK = @"enable_querying_stk";
101101
NSString *const MSID_FLIGHT_IS_BART_SUPPORTED = @"is_msal_bart_supported";
102102

103+
NSString *const MSID_FLIGHT_USE_AUTOLAYOUT_FOR_LOADING_INDICATOR = @"use_autolayout_for_loading_indicator";
104+
103105
NSString *const MSID_DOMAIN_HINT_KEY = @"domain_hint";
104106

107+
// This is SsoExt flow only flight
108+
NSString *const MSID_FLIGHT_ENABLE_THREAD_STARVATION = @"ts_en";
105109

106110
#define METHODANDLINE [NSString stringWithFormat:@"%s [Line %d]", __PRETTY_FUNCTION__, __LINE__]

IdentityCore/src/MSIDOAuth2Constants.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -180,5 +180,5 @@ extern NSString *const MSID_CCS_REQUEST_ID_RESPONSE;
180180
extern NSString *const MSID_CCS_REQUEST_SEQUENCE_KEY;
181181
extern NSString *const MSID_CCS_REQUEST_SEQUENCE_RESPONSE;
182182
extern NSString *const MSID_BOUND_DEVICE_ID_CACHE_KEY;
183+
extern NSString *const MSID_BOUND_RT_EXCHANGE;
183184
extern NSString *const MSID_MSAL_CLIENT_APV_PREFIX;
184-
extern NSString *const MSID_BOUND_REFRESH_TOKEN_EXCHANGE;

IdentityCore/src/MSIDOAuth2Constants.m

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -180,6 +180,6 @@
180180
NSString *const MSID_CCS_REQUEST_SEQUENCE_KEY = @"x-ms-srs";
181181
NSString *const MSID_CCS_REQUEST_SEQUENCE_RESPONSE = @"ccs-request-sequence";
182182

183-
NSString *const MSID_BOUND_REFRESH_TOKEN_EXCHANGE = @"bound_rt_exchange";
184183
NSString *const MSID_BOUND_DEVICE_ID_CACHE_KEY = @"bound_device_id";
184+
NSString *const MSID_BOUND_RT_EXCHANGE = @"bound_rt_exchange";
185185
NSString *const MSID_MSAL_CLIENT_APV_PREFIX = @"MsalClient";

IdentityCore/src/broker_operation/response/browser_native_message_response/MSIDBrowserNativeMessageGetTokenResponse.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ NS_ASSUME_NONNULL_BEGIN
3636
- (instancetype _Nullable)initWithTokenResponse:(nonnull MSIDBrokerOperationTokenResponse *)tokenResponse;
3737

3838
@property (nonatomic, nullable) NSString *state;
39+
@property (nonatomic, nullable) NSString *requestAccountUpn;
3940
@property (nonatomic, nullable) MSIDBrokerOperationBrowserNativeMessageMATSReport *matsReport;
4041

4142

IdentityCore/src/broker_operation/response/browser_native_message_response/MSIDBrowserNativeMessageGetTokenResponse.m

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ - (NSDictionary *)jsonDictionary
7272
}
7373

7474
__auto_type accountJson = [NSMutableDictionary new];
75-
accountJson[@"userName"] = tokenResponse.accountUpn;
75+
accountJson[@"userName"] = tokenResponse.accountUpn ?: self.requestAccountUpn;
7676
accountJson[@"id"] = tokenResponse.accountIdentifier;
7777

7878
response[@"account"] = accountJson;

IdentityCore/src/cache/mac/MSIDMacKeychainTokenCache.m

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -557,14 +557,15 @@ - (BOOL)removeAccountsWithKey:(MSIDCacheKey *)key
557557

558558
- (NSArray<MSIDJsonObject *> *)jsonObjectsWithKey:(__unused MSIDCacheKey *)key serializer:(__unused id<MSIDExtendedCacheItemSerializing>)serializer context:(id<MSIDRequestContext>)context error:(NSError *__autoreleasing *)error
559559
{
560-
[self createUnimplementedError:error context:context];
560+
MSID_LOG_WITH_CTX(MSIDLogLevelInfo, context, @"Skipping jsonObjectsWithKey:serializer:context:error: in MSIDMacKeychainTokenCache.");
561561
return nil;
562562
}
563563

564564

565565
- (BOOL)saveJsonObject:(__unused MSIDJsonObject *)jsonObject serializer:(__unused id<MSIDExtendedCacheItemSerializing>)serializer key:(__unused MSIDCacheKey *)key context:(id<MSIDRequestContext>)context error:(NSError *__autoreleasing *)error
566566
{
567-
[self createUnimplementedError:error context:context];
567+
MSID_LOG_WITH_CTX(MSIDLogLevelInfo, context, @"Skipping saveJsonObject:serializer:key:context:error: in MSIDMacKeychainTokenCache.");
568+
568569
return NO;
569570
}
570571

0 commit comments

Comments
 (0)