Skip to main content

概要

iOS、macOS、tvOS、watchOS、visionOS 向けの Swift SDK です。Auth0 をアプリにシームレスに統合し、ログインとログアウトの追加、資格情報の安全な保存、ユーザー情報へのアクセスを実現できます。詳細は GitHub repositoryv2 から移行する場合は、 Migration Guide をご確認ください

ドキュメント

はじめに

要件

  • iOS 14.0+ / macOS 11.0+ / tvOS 14.0+ / watchOS 7.0+ / visionOS 1.0+
  • Xcode 16.x
  • Swift 6.0+
Xcode、Swift、各プラットフォームのバージョンのサポート終了が破壊的変更と見なされない時期については、サポートポリシーを確認してください。

インストール

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} を設定ページの値ではなく、カスタムドメインの値に置き換えてください。
たとえば、iOS のバンドル識別子が com.example.MyApp で、Auth0 Domain が example.us.auth0.com であれば、この値は次のようになります。
トークンエンドポイント認証方法 が None に設定されていることを確認してください。

カスタム URL スキームを設定する

Xcode で、アプリのターゲット設定にある Info タブを開きます。URL Types セクションで + ボタンをクリックし、新しい項目を追加します。そこで、Identifier フィールドに auth0 を、URL Schemes フィールドに $(PRODUCT_BUNDLE_IDENTIFIER) を入力します。 これにより、バンドル識別子がカスタム URL スキームとして登録され、コールバック URL やログアウト URL からアプリを開けるようになります。

Web Auth でのログイン (iOS / macOS)

ログイン画面を表示するファイルで、Auth0 モジュールをインポートします。
次に、Login ボタンのアクションで Universal Login ページを表示します。

async/await を使う

Combine を使う

Web Auth ログアウト (iOS / macOS)

ユーザーをログアウトするには、 のセッション Cookie をクリアした後、アプリケーションからユーザーの資格情報を削除します。 Logout ボタンのアクションで logout() メソッドを呼び出します。セッション Cookie がクリアされたら、ユーザーの資格情報を削除します。

async/await を使う

Combine を使用する

SSOアラートボックス (iOS / macOS)

undefined
Web Auth の使用時にデフォルトで表示されるポップアップアラートボックスについて詳しくは、FAQ をご確認ください。
詳しくは、How to Create a Seamless Mobile SSO (Single Sign-On) Experience in iOS もあわせてご覧ください。

次のステップ

主な機能については、Examplesで確認できます。