動作環境
- 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です
UIViewController に追加します。
Auth0.Swift ライブラリを使用してユーザープロフィールにアクセスする
ユーザープロフィール情報にアクセスするには、Auth0.Swift ライブラリを使用する必要があります。
接続を指定する
Lock は、アプリケーションに設定された接続を自動的に読み込みます。デフォルトの動作を変更したい場合は、認証オプションとしてユーザーに表示する接続を手動で指定できます。これには、メソッドを呼び出して、接続を指定するクロージャを渡します。 データベース接続を追加する場合:スタイル設定とカスタマイズ
Lock には、withStyle を使って独自のブランドアイデンティティを反映できるよう、さまざまなスタイル設定オプションが用意されています。たとえば、Lock ウィジェットのプライマリカラーやヘッダーテキストを変更できます。
タイトル、ロゴ、プライマリカラーをカスタマイズ
設定オプション
Lock の動作は、さまざまなオプションで設定できます。以下は、閉じることができ、ユーザー名のみを使用可能にし (メールアドレスは使用不可) 、ログイン画面とパスワードリセット画面のみを表示するように設定した Lock の例です。パスワードマネージャーのサポート
デフォルトでは、データベース接続で 1Password を使うパスワードマネージャー機能が有効になっています。1Password のサポートは、ログイン画面とサインアップ画面に表示するために、ユーザーの端末に 1Password アプリがインストールされている必要があります。1Password のサポートは、passwordManager の enabled プロパティで無効にできます。appIdentifier にはアプリのバンドル識別子が設定され、displayName にはアプリの表示名が設定されます。これらは次のようにカスタマイズできます。
info.plist に次の内容を追加する必要があります: