1.6.0 (2020-02-04)
Features
- Support lazy load and pagination for API (#1009)
- Separate DataStore List logic out to list provider (#1000)
Behavior Change
-
Auth: Fix cancelling hostedUI returning a generic error (#982).
When a user cancels the sign in flow from
Amplify.Auth.signInWithWebUI
, the callback will now deliver an error of typeAuthError.service
, with an underlying error ofAWSCognitoAuthError.userCancelled
. Previously, the error was aSFAuthenticationError.canceledLogin
. TheAuthError.service
error type will be returned regardless of whether the underlying HostedUI operation was performed via an SFAuthenticationSession or an ASWebAuthenticationSession.You can detect the user cancellation case by
switch
ing on the error, as in:switch result { case .success: print("SignOut") case .failure(let error): if case AuthError.service(_, _, let underlyingError) = error, case .userCancelled = (underlyingError as? AWSCognitoAuthError) { print("User cancelled") } }
Misc updates
-
Auth:
Amplify.Auth.signInWithWebUI
now automatically usesASWebAuthenticationSession
internally for iOS 13.0+. For older iOS versions, it will fall back toSFAuthenticationSession
.
This release also introduces a newpreferPrivateSession
flag toAWSAuthWebUISignInOptions
during the sign in flow. IfpreferPrivateSession
is set totrue
during sign in, and the user's preferred browser supportsASWebAuthenticationSession.prefersEphemeralWebBrowserSession
, the user will not see a web view displayed when they sign out.Amplify.Auth.signInWithWebUI(presentationAnchor: self.view.window!, options: .preferPrivateSession()) { ... }