概要
iOS、macOS、tvOS、watchOS、visionOS 向けの Swift SDK です。Auth0 をアプリにシームレスに統合し、ログインとログアウトの追加、資格情報の安全な保存、ユーザー情報へのアクセスを実現できます。詳細は GitHub repositoryv2 から移行する場合は、 Migration Guide をご確認ください
ドキュメント
- Quickstart: Auth0.swift を iOS / macOS アプリにゼロから組み込む方法を説明します。
- サンプルアプリ: 実際に試せる、完全に動作する iOS / macOS アプリです。
- 使用例: 主要な機能の使い方を説明しています。
- API ドキュメント: コードコメントから自動生成されたドキュメントで、利用可能なすべての機能を説明しています。
- FAQ: Auth0.swift に関するよくある質問にお答えします。
- Auth0 ドキュメント: ドキュメントサイトで、Auth0 の詳細をご確認ください。
はじめに
要件
- iOS 14.0+ / macOS 11.0+ / tvOS 14.0+ / watchOS 7.0+ / visionOS 1.0+
- Xcode 16.x
- Swift 6.0+
インストール
Swift Package Manager
Xcodeで次のメニュー項目を開きます。 File > Add Packages… Search or Enter Package URL 検索ボックスに、このURLを入力します。Cocoapods
次の行をPodfileに追加してください:
pod installを実行します。
Carthage
Cartfileに次の行を追加してください。
carthage bootstrap --use-xcframeworksを実行します。
SDK を設定する
Auth0 Dashboard に移動し、新しい Native アプリケーションを作成します。 Auth0.swift が Auth0 と通信するには、Auth0 アプリケーションの と Domain が必要です。これらの情報は、Auth0 アプリケーションの設定ページで確認できます。カスタムドメイン を使用している場合は、設定ページの値ではなく、 の値を使用してください。plist を使用して Client ID と Domain を設定する
アプリバンドル内にAuth0.plist という名前の plist ファイルを作成し、次の内容を追加します。
Client ID と Domain をコードで設定する
Web Authを設定する (iOS / macOS)
コールバック URL とログアウト URL を設定する
コールバック URL とログアウト URL は、Auth0 がアプリケーションへリダイレクトする際に使用する URL です。Auth0 はユーザーの認証後にコールバック URL を呼び出し、 を削除した後にログアウト URL を呼び出します。 コールバック URL とログアウト URL は改ざんされる可能性があるため、Auth0 アプリケーションの設定ページにある Allowed Callback URLs と Allowed Logout URLs の各フィールドに URL を追加する必要があります。これにより、Auth0 はこれらの URL を有効なものとして認識できるようになります。コールバック URL とログアウト URL が設定されていないと、ユーザーはアプリケーションにログインおよびログアウトできず、エラーが発生します。 Auth0 アプリケーション の設定ページに移動し、アプリケーションのプラットフォームに応じて、対応する URL を Allowed Callback URLs と Allowed Logout URLs に追加します。カスタムドメイン を使用している場合は、{yourAuth0Domain} を設定ページの値ではなく、カスタムドメインの値に置き換えてください。
com.example.MyApp で、Auth0 Domain が example.us.auth0.com であれば、この値は次のようになります。
カスタム URL スキームを設定する
Xcode で、アプリのターゲット設定にある Info タブを開きます。URL Types セクションで + ボタンをクリックし、新しい項目を追加します。そこで、Identifier フィールドにauth0 を、URL Schemes フィールドに $(PRODUCT_BUNDLE_IDENTIFIER) を入力します。
これにより、バンドル識別子がカスタム URL スキームとして登録され、コールバック URL やログアウト URL からアプリを開けるようになります。
Web Auth でのログイン (iOS / macOS)
ログイン画面を表示するファイルで、Auth0 モジュールをインポートします。
async/await を使う
Combine を使う
Web Auth ログアウト (iOS / macOS)
ユーザーをログアウトするには、 のセッション Cookie をクリアした後、アプリケーションからユーザーの資格情報を削除します。 Logout ボタンのアクションでlogout() メソッドを呼び出します。セッション Cookie がクリアされたら、ユーザーの資格情報を削除します。
async/await を使う
Combine を使用する
SSOアラートボックス (iOS / macOS)

詳しくは、How to Create a Seamless Mobile SSO (Single Sign-On) Experience in iOS もあわせてご覧ください。
次のステップ
主な機能については、Examplesで確認できます。- 資格情報を保存する: ユーザーの資格情報を Keychain に安全に保存します。
- 保存済みの資格情報を確認する: アプリの起動時に、ユーザーがすでにログインしているかどうかを確認します。
- 保存済みの資格情報を取得する: ユーザーの資格情報を Keychain から取得し、有効期限が切れている場合は自動的に更新します。
- 保存済みの資格情報を消去する: ログアウト処理を完了するために、ユーザーの資格情報を削除します。
- ユーザー情報を取得する:
/userinfoエンドポイントから最新のユーザー情報を取得します。