Skip to main content

Overview

Auth0をアプリにシームレスに統合できる、iOS・macOS・tvOS・watchOS向けのSwift SDKです。ログインとログアウトを追加し、資格情報を安全に保管して、ユーザー情報にアクセスすることができます。参照GitHubリポジトリ v1からの移行: 移行ガイド を参照してください

ドキュメント

使用を開始する

要件

  • iOS 13.0+ / macOS 11.0+ / tvOS 13.0+ / watchOS 7.0+
  • Xcode 14.x
  • Swift 5.7+
サポートポリシー」を参照して、どのような場合にXcode・Swift・プラットフォームのバージョンの削除が破壊的変更 とみなされないかを確認してください。

インストール

Swift Package Manager

Xcodeで以下のメニュー項目を開きます: [File(ファイル)] > [Add Packages…(パッケージの追加)] [Search or Enter Package URL(パッケージURLを検索または入力)] 検索ボックスに次のURLを入力します。
次に、依存ルールを選択して [Add Package(パッケージを追加)] を押します。

Cocoapods

以下のラインをPodfileに追加します。
それからpod installを実行します。

Carthage

以下のラインをCartfileに追加します。
それからcarthage bootstrap --use-xcframeworksを実行します。

SDKを構成する

Auth0 Dashboardに移動し、新しい [Native(ネイティブ)] アプリケーションを作成します。 Auth0.swiftはAuth0と通信するためにAuth0アプリケーションの (クライアントID)][Domain(ドメイン)] を必要とします。これらの詳細はAuth0アプリケーションの設定ページで確認できますカスタムドメインを使用している場合は、設定ページの値ではなく、カスタムドメインの値を使用してください。

クライアントIDとドメインをplistで設定する

Auth0.plistという名前のplistファイルを、以下の内容でアプリバンドル内に作成します。

クライアントIDとドメインをプログラムで設定する

Web Authの場合
Authentication APIクライアントの場合
Management APIクライアント(ユーザー)の場合

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

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

コールバックURLとログアウトURLは、Auth0がアプリケーションにリダイレクトするために呼び出すURLです。Auth0は、ユーザー認証後にコールバックURLを呼び出し、セッションCookieを削除した後にログアウトURLを呼び出します。 コールバックURLとログアウトURLは操作できるため、Auth0アプリケーションの設定ページにある [Allowed Callback URLs(許可されているコールバックURL)][Allowed Logout URLs(許可されているログアウトURL)] のフィールドに使用するURLを追加する必要があります。これにより、Auth0はこれらのURLを有効なものと認識できるようになります。コールバックURLとログアウトURLを設定しないと、ユーザーはアプリケーションへのログインやログアウトが行えなくなり、エラーが発生します。 Auth0アプリケーションの設定ページを開き、アプリケーションのプラットフォームに応じて、対応するURLを [Allowed Callback URLs(許可されているコールバックURL)][Allowed Logout URLs(許可されているログアウトURL)] に追加します。カスタムドメインを使用している場合は、設定ページの値ではなく、{yourAuth0Domain}をカスタムドメインの値に置き換えてください。
iOS
macOS
たとえば、iOSのバンドル識別子がcom.example.MyAppでAuth0ドメインがexample.us.auth0.comの場合には、次の値になります。
トークンエンドポイント認証方法 の設定が[None(なし)]に設定されていることを確認してください。

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

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

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

ログインページを提示したいファイルにAuth0モジュールをインポートします。
それから [Login(ログイン)] ボタンのアクションでユニバーサルログインページを提示します。

async/awaitを使用する

Combineを使用する

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

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

async/awaitを使用する

Combineを使用する

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

undefined
Web Authを使用しているときにデフォルトで表示されるアラートボックスの詳細については、FAQを参照してください。

次の手順

ほとんどの機能については、で説明されています。