Overview of AppAuth for iOS, macOS, and tvOS
masterAppAuth is a client SDK for communicating with OAuth 2.0 and OpenID Connect providers. It follows RFC 8252 (OAuth 2.0 for Native Apps) best practices.
Key Features
- Security: Uses
ASWebAuthenticationSession(on iOS) andSFSafariViewControllerto perform authentication. It explicitly does not supportUIWebVieworWKWebViewfor security reasons. - PKCE Support: Supports the Proof Key for Code Exchange (PKCE) extension to secure authorization codes in public clients.
- Extensibility: Can handle additional parameters in protocol requests and responses.
- tvOS Support: Implements the OAuth 2.0 Device Authorization Grant (AppAuthTV) to allow sign-ins via a secondary device.
Platform Specifications
iOS
- Supported Versions: iOS 12 and above.
- Auth Method:
ASWebAuthenticationSession. - Redirects: Supports Custom URI Schemes and Universal Links.
macOS
- Supported Versions: macOS 10.9 and above.
- Redirects: Supports Custom URI Schemes and loopback HTTP redirects via an embedded server.
tvOS
- Supported Versions: tvOS 9.0 and above.
- Auth Method: Implements the Device Authorization Grant (AppAuthTV).