diff --git a/CHANGELOG.md b/CHANGELOG.md
index 64806ae66b..0783fb7db0 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,6 @@
-TBD:
+## [1.4.0]:
* Add platform sequence param. #2192
+* Native auth can now store multiple access tokens related to different resources.
## [1.3.3]
* Update common core submodule.
diff --git a/MSAL.podspec b/MSAL.podspec
index fda3d2344d..b54f11330d 100644
--- a/MSAL.podspec
+++ b/MSAL.podspec
@@ -1,6 +1,6 @@
Pod::Spec.new do |s|
s.name = "MSAL"
- s.version = "1.3.3"
+ s.version = "1.4.0"
s.summary = "Microsoft Authentication Library (MSAL) for iOS"
s.description = <<-DESC
The MSAL library for iOS gives your app the ability to begin using the Microsoft Cloud by supporting Microsoft Azure Active Directory and Microsoft Accounts in a converged experience using industry standard OAuth2 and OpenID Connect. The library also supports Microsoft Azure B2C for those using our hosted identity management service.
diff --git a/MSAL/IdentityCore b/MSAL/IdentityCore
index c686a03102..8231b7cf3a 160000
--- a/MSAL/IdentityCore
+++ b/MSAL/IdentityCore
@@ -1 +1 @@
-Subproject commit c686a03102d0b02725279c0012c25cb81cd958bc
+Subproject commit 8231b7cf3ae4f892abb945ce4247763f2ed65cbd
diff --git a/MSAL/resources/ios/Info.plist b/MSAL/resources/ios/Info.plist
index a6867d0c5a..5385f16065 100644
--- a/MSAL/resources/ios/Info.plist
+++ b/MSAL/resources/ios/Info.plist
@@ -15,7 +15,7 @@
CFBundlePackageType
FMWK
CFBundleShortVersionString
- 1.3.3
+ 1.4.0
CFBundleVersion
$(CURRENT_PROJECT_VERSION)
NSPrincipalClass
diff --git a/MSAL/resources/mac/Info.plist b/MSAL/resources/mac/Info.plist
index f0f56c5e0d..a699236b7e 100644
--- a/MSAL/resources/mac/Info.plist
+++ b/MSAL/resources/mac/Info.plist
@@ -15,7 +15,7 @@
CFBundlePackageType
FMWK
CFBundleShortVersionString
- 1.3.3
+ 1.4.0
CFBundleVersion
$(CURRENT_PROJECT_VERSION)
NSHumanReadableCopyright
diff --git a/MSAL/src/MSALPublicClientApplication.m b/MSAL/src/MSALPublicClientApplication.m
index 7491b7eb77..cade8c4d4b 100644
--- a/MSAL/src/MSALPublicClientApplication.m
+++ b/MSAL/src/MSALPublicClientApplication.m
@@ -112,6 +112,7 @@
#import "MSIDRequestTelemetryConstants.h"
#import "MSALWipeCacheForAllAccountsConfig.h"
#import "NSString+MSIDTelemetryExtensions.h"
+#import "MSIDVersion.h"
@interface MSALPublicClientApplication()
{
@@ -865,9 +866,9 @@ - (void)acquireTokenSilentWithParameters:(MSALSilentTokenParameters *)parameters
[extraURLQueryParameters addEntriesFromDictionary:parameters.extraQueryParameters];
msidParams.extraURLQueryParameters = extraURLQueryParameters;
- msidParams.platformSequence = [NSString msidUpdatePlatformSequenceParamWithName:[MSIDVersion platformName]
- version:[MSIDVersion sdkVersion]
- toSequence:nil];
+ msidParams.platformSequence = [NSString msidUpdatePlatformSequenceParamWithSrcName:[MSIDVersion platformName]
+ srcVersion:[MSIDVersion sdkVersion]
+ sequence:nil];
msidParams.tokenExpirationBuffer = self.internalConfig.tokenExpirationBuffer;
msidParams.claimsRequest = parameters.claimsRequest.msidClaimsRequest;
@@ -1206,9 +1207,9 @@ - (void)acquireTokenWithParameters:(MSALInteractiveTokenParameters *)parameters
[extraURLQueryParameters addEntriesFromDictionary:parameters.extraQueryParameters];
msidParams.extraURLQueryParameters = extraURLQueryParameters;
- msidParams.platformSequence = [NSString msidUpdatePlatformSequenceParamWithName:[MSIDVersion platformName]
- version:[MSIDVersion sdkVersion]
- toSequence:nil];
+ msidParams.platformSequence = [NSString msidUpdatePlatformSequenceParamWithSrcName:[MSIDVersion platformName]
+ srcVersion:[MSIDVersion sdkVersion]
+ sequence:nil];
msidParams.tokenExpirationBuffer = self.internalConfig.tokenExpirationBuffer;
msidParams.extendedLifetimeEnabled = self.internalConfig.extendedLifetimeEnabled;
@@ -1463,9 +1464,9 @@ - (void)signoutWithAccount:(nonnull MSALAccount *)account
msidParams.validateAuthority = [self shouldValidateAuthorityForRequestAuthority:requestAuthority];
msidParams.keychainAccessGroup = self.internalConfig.cacheConfig.keychainSharingGroup;
msidParams.providedAuthority = requestAuthority;
- msidParams.platformSequence = [NSString msidUpdatePlatformSequenceParamWithName:[MSIDVersion platformName]
- version:[MSIDVersion sdkVersion]
- toSequence:nil];
+ msidParams.platformSequence = [NSString msidUpdatePlatformSequenceParamWithSrcName:[MSIDVersion platformName]
+ srcVersion:[MSIDVersion sdkVersion]
+ sequence:nil];
NSError *localError;
BOOL localRemovalResult = [self removeAccountImpl:account wipeAccount:signoutParameters.wipeAccount error:&localError];
diff --git a/MSAL/src/MSAL_Internal.h b/MSAL/src/MSAL_Internal.h
index 5c2086c0ef..4811846e0b 100644
--- a/MSAL/src/MSAL_Internal.h
+++ b/MSAL/src/MSAL_Internal.h
@@ -26,8 +26,8 @@
//------------------------------------------------------------------------------
#define MSAL_VER_HIGH 1
-#define MSAL_VER_LOW 3
-#define MSAL_VER_PATCH 3
+#define MSAL_VER_LOW 4
+#define MSAL_VER_PATCH 0
#define STR_HELPER(x) #x
#define STR(x) STR_HELPER(x)
diff --git a/MSAL/test/automation/tests/MSALBaseUITest.m b/MSAL/test/automation/tests/MSALBaseUITest.m
index 5ce7c5424f..d1ccfadbed 100644
--- a/MSAL/test/automation/tests/MSALBaseUITest.m
+++ b/MSAL/test/automation/tests/MSALBaseUITest.m
@@ -214,9 +214,21 @@ - (void)closeAuthUIUsingWebViewType:(MSIDWebviewType)webViewType
// We take the second one and tap it
XCUIElement *secondButton = [elementQuery elementBoundByIndex:1];
[secondButton msidTap];
- } else
+ }
+ else
{
- [self.testApp.buttons[buttonTitle] msidTap];
+ if (webViewType == MSIDWebviewTypeSafariViewController)
+ {
+ // We take the first one and force tap it, for some reason tap doesn't work
+ XCUIElement *firstButton = [elementQuery elementBoundByIndex:0];
+
+ __auto_type coordinate = [firstButton coordinateWithNormalizedOffset:CGVectorMake(0, 0)];
+ [coordinate tap];
+ }
+ else
+ {
+ [self.testApp.buttons[buttonTitle] msidTap];
+ }
}
}
diff --git a/MSAL/test/automation/tests/interactive/MSALCIAMAuthorityTests.m b/MSAL/test/automation/tests/interactive/MSALCIAMAuthorityTests.m
index 91380f3862..713c6912cc 100644
--- a/MSAL/test/automation/tests/interactive/MSALCIAMAuthorityTests.m
+++ b/MSAL/test/automation/tests/interactive/MSALCIAMAuthorityTests.m
@@ -45,7 +45,6 @@ - (void)setUp
MSIDTestAutomationAccountConfigurationRequest *accountConfigurationRequest = [MSIDTestAutomationAccountConfigurationRequest new];
accountConfigurationRequest.federationProviderType = MSIDTestAccountFederationProviderTypeCIAM;
- accountConfigurationRequest.additionalQueryParameters = @{@"signInAudience": @"azureadmyorg",@"PublicClient": @"No"};
[self loadTestAccount:accountConfigurationRequest];
diff --git a/Package.swift b/Package.swift
index baf593e715..dbe3a98dc1 100644
--- a/Package.swift
+++ b/Package.swift
@@ -13,6 +13,6 @@ let package = Package(
targets: ["MSAL"]),
],
targets: [
- .binaryTarget(name: "MSAL", url: "https://github.com/AzureAD/microsoft-authentication-library-for-objc/releases/download/1.3.3/MSAL.zip", checksum: "4c4a52ed5bbc20875efed36707216ce0ca6b2b8846f2b88c16fc44f634093f2d")
+ .binaryTarget(name: "MSAL", url: "https://github.com/AzureAD/microsoft-authentication-library-for-objc/releases/download/1.4.0/MSAL.zip", checksum: "0bd52aa02ef94ec39ce7912fb66c5388b48cfd89c43ee3040b2d242505014fc8")
]
)