A session that an app uses to authenticate a user through a web service.


class ASWebAuthenticationSession : NSObject


Use an ASWebAuthenticationSession 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.

For more details, see Authenticating a User Through a Web Service.


Creating a Session

Configuring a Session

var prefersEphemeralWebBrowserSession: Bool

A Boolean value that indicates whether the session should ask the browser for a private authentication session.

Starting and Stopping a Session

func start() -> Bool

Starts a web authentication session.

func cancel()

Cancels a web authentication session.

Presenting a Session

var presentationContextProvider: ASWebAuthenticationPresentationContextProviding?

A delegate that provides a display context in which the system can present an authentication session to the user.

protocol ASWebAuthenticationPresentationContextProviding

An interface the session uses to ask a delegate for a presentation context.

Recognizing Errors

struct ASWebAuthenticationSessionError

Errors that a web authentication session can generate.

Instance Properties


Inherits From

Conforms To

See Also

Web-Based Login

Authenticating a User Through a Web Service

Use a web authentication session to authenticate a user in your app.

Beta Software

This documentation contains preliminary information about an API or technology in development. This information is subject to change, and software implemented according to this documentation should be tested with final operating system software.

Learn more about using Apple's beta software