WebAuthenticationSession class
A session that an app uses to authenticate a user through a web service.
It is implemented using ASWebAuthenticationSession on iOS 12.0+ and MacOS 10.15+ and SFAuthenticationSession on iOS 11.0.
Use an PlatformWebAuthenticationSession instance to authenticate a user through a web service, including one run by a third party. Initialize the session with a URL that points to the authentication webpage. A browser loads and displays the page, from which the user can authenticate. In iOS, the browser is a secure, embedded web view. In macOS, the system opens the user’s default browser if it supports web authentication sessions, or Safari otherwise.
On completion, the service sends a callback URL to the session with an authentication token, and the session passes this URL back to the app through a completion handler. PlatformWebAuthenticationSession ensures that only the calling app’s session receives the authentication callback, even when more than one app registers the same callback URL scheme.
NOTE: Remember to dispose it when you don't need it anymore.
NOTE for iOS: Available only on iOS 11.0+.
NOTE for MacOS: Available only on MacOS 10.15+.
Officially Supported Platforms/Implementations:
- iOS
- MacOS
Constructors
- WebAuthenticationSession()
- A session that an app uses to authenticate a user through a web service.
- WebAuthenticationSession.fromPlatform({required PlatformWebAuthenticationSession platform})
- Constructs a WebAuthenticationSession from a specific platform implementation.
- WebAuthenticationSession.fromPlatformCreationParams({required PlatformWebAuthenticationSessionCreationParams params})
- Constructs a WebAuthenticationSession.
Properties
- callbackURLScheme → String?
-
The custom URL scheme that the app expects in the callback URL.
no setter
- hashCode → int
-
The hash code for this object.
no setterinherited
- id → String
-
ID used internally.
no setter
- initialSettings → WebAuthenticationSessionSettings?
-
Initial settings.
no setter
- onComplete → WebAuthenticationSessionCompletionHandler?
-
A completion handler the session calls when it completes successfully, or when the user cancels the session.
no setter
- platform → PlatformWebAuthenticationSession
-
Implementation of PlatformWebAuthenticationSession for the current platform.
final
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- url → WebUri
-
A URL with the
http
orhttps
scheme pointing to the authentication webpage.no setter
Methods
-
cancel(
) → Future< void> - Cancels the web authentication session.
-
canStart(
) → Future< bool> - Indicates whether the session can begin.
-
dispose(
) → Future< void> - Disposes the web authentication session.
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
start(
) → Future< bool> - Starts the web authentication session.
-
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited
Static Methods
-
create(
{required WebUri url, String? callbackURLScheme, WebAuthenticationSessionCompletionHandler? onComplete, WebAuthenticationSessionSettings? initialSettings}) → Future< WebAuthenticationSession> - Used to create and initialize a session.
-
isAvailable(
) → Future< bool> -
Returns
true
if ASWebAuthenticationSession or SFAuthenticationSession is available. Otherwise returnsfalse
.