Skip to main content
このリファレンスガイドでは、Lock のユーザーインターフェースを実装する方法と、認証用 UI として Lock を使用するための設定やカスタマイズの詳細について説明します。一方、 の保存、利用、更新の方法、ユーザープロフィール情報の取得など、Auth0 と Swift でさらにできることを知りたい場合は、Auth0.swift SDK をご覧ください。あるいは、Swift Quickstart で一連の完全な例を確認し、UI として Lock を使用する場合と、カスタムインターフェースを使用する場合の両方の選択肢をご覧ください。 GitHub の Lock.swift repository もご覧ください。

動作環境

  • iOS 9+
  • Xcode 11.4+ / 12.x
  • Swift 4.x / 5.x

インストール

Cocoapods

Cocoapods を使用している場合は、次の行を Podfile に追加してください。 pod 'Lock', '~> 2.0' その後、pod install を実行してください。 Cocoapods の詳細については、公式ドキュメント をご覧ください。

Carthage

Carthage を使用している場合は、Cartfile に次の行を追加します。 github "auth0/Lock.swift" ~> 2.0 続いて、carthage bootstrap を実行します。 Carthage の使い方の詳細については、公式ドキュメント を参照してください。

SPM

Swift Package Manager を使用している場合は、Xcode で次のメニューを開きます。 File > Swift Packages > Add Package Dependency… Choose Package Repository 画面で、次の URL を追加します。 https://github.com/auth0/Lock.swift.git 続いて Next をクリックし、残りの手順を完了します。
SPM の詳細については、公式ドキュメントを参照してください。

セットアップ

アプリケーションに組み込む

アプリケーションが URL を開くよう要求された際には、Lock に通知する必要があります。これは AppDelegate ファイルで行えます。

Lock のインポート

Lock が必要な場所でインポートします import lock

Auth0 の認証情報

Lock を使用するには、Auth0 の と Domain を指定する必要があります。これらは、Auth0 Dashboard のアプリケーション設定で確認できます。 アプリケーションバンドルには、以下の形式で認証情報を含む Auth0.plist という名前の plist ファイルを追加できます。

Lock Classic の実装

Lock Classic は、データベース接続、ソーシャル接続、エンタープライズ接続を使用して認証を行います。

OIDC準拠モード

このSDKは、OIDC準拠モードで使用することを強く推奨します。このモードを有効にすると、SDKはAuth0の現在の認証パイプラインを使用し、レガシーエンドポイントにアクセスしなくなります。デフォルトではfalseです
Lock を表示するには、次のコードを UIViewController に追加します。

Auth0.Swift ライブラリを使用してユーザープロフィールにアクセスする

ユーザープロフィール情報にアクセスするには、Auth0.Swift ライブラリを使用する必要があります。
使い方の詳細については、Auth0.Swift Library Documentationをご覧ください。

接続を指定する

Lock は、アプリケーションに設定された接続を自動的に読み込みます。デフォルトの動作を変更したい場合は、認証オプションとしてユーザーに表示する接続を手動で指定できます。これには、メソッドを呼び出して、接続を指定するクロージャを渡します。 データベース接続を追加する場合:
複数のソーシャル接続を追加する:

スタイル設定とカスタマイズ

Lock には、withStyle を使って独自のブランドアイデンティティを反映できるよう、さまざまなスタイル設定オプションが用意されています。たとえば、Lock ウィジェットのプライマリカラーやヘッダーテキストを変更できます。

タイトル、ロゴ、プライマリカラーをカスタマイズ

アプリ用のLockの見た目を変更するためのスタイル設定オプションについては、カスタマイズガイドで詳しく確認できます。

設定オプション

Lock の動作は、さまざまなオプションで設定できます。以下は、閉じることができ、ユーザー名のみを使用可能にし (メールアドレスは使用不可) 、ログイン画面とパスワードリセット画面のみを表示するように設定した Lock の例です。
アプリでの Lock の動作を変更するための設定オプションについては、Configuration Guideで確認できます。

パスワードマネージャーのサポート

デフォルトでは、データベース接続で 1Password を使うパスワードマネージャー機能が有効になっています。1Password のサポートは、ログイン画面とサインアップ画面に表示するために、ユーザーの端末に 1Password アプリがインストールされている必要があります。1Password のサポートは、passwordManager の enabled プロパティで無効にできます。
デフォルトでは、appIdentifier にはアプリのバンドル識別子が設定され、displayName にはアプリの表示名が設定されます。これらは次のようにカスタマイズできます。
アプリの info.plist に次の内容を追加する必要があります:

詳しくはこちら