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 の場合
Authentication API クライアントの場合

Web Authを設定する (iOS / macOS)

コールバック URL とログアウト URL を設定する

コールバック URL とログアウト URL は、Auth0 がアプリケーションへリダイレクトする際に使用する URL です。Auth0 はユーザーの認証後にコールバック URL を呼び出し、 を削除した後にログアウト URL を呼び出します。 コールバック URL とログアウト URL は改ざんされる可能性があるため、Auth0 アプリケーションの設定ページにある Allowed Callback URLsAllowed Logout URLs の各フィールドに URL を追加する必要があります。これにより、Auth0 はこれらの URL を有効なものとして認識できるようになります。コールバック URL とログアウト URL が設定されていないと、ユーザーはアプリケーションにログインおよびログアウトできず、エラーが発生します。 Auth0 アプリケーション の設定ページに移動し、アプリケーションのプラットフォームに応じて、対応する URL を Allowed Callback URLsAllowed Logout URLs に追加します。カスタムドメイン を使用している場合は、{yourAuth0Domain} を設定ページの値ではなく、カスタムドメインの値に置き換えてください。
iOS
macOS
たとえば、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で確認できます。