Skip to main content
Lock は、WhatsAppの認証方法と同様に、ユーザーがログインするために入力して確認する必要があるワンタイムパスワードを記載したメールまたはSMSをユーザーに送信して認証します。この記事では、Lock.Androidライブラリを使用してコードを送信する方法について説明します。 ユーザーがパスワードレス認証を自動的に終了できるリンクをクリックして送信することで同様の結果を得ることができますが、さらにいくつかの構成手順が必要になります。 ユーザーを認証できるようにするには、アプリケーションでメール/SMS接続を有効にして、Auth0 Dashboardで構成する必要があります。

Code Passwordlessの実装

SDKの構成

app/build.gradleファイルで、Auth0ドメインおよびAuth0スキームプロパティにマニフェストファイルを追加すると、それがライブラリによって内部で使用され、認証結果を取り込むインテントフィルタを登録します。
これらの値を、後でコードから参照可能な文字列リソースとしてstrings.xmlファイルに追加することをお勧めします。

SDKの使用方法

Lockを起動する予定のアクティビティで、アプリケーションの情報を用いてAuth0のインスタンスを作成します。最も簡単な作成方法は、AndroidのContextを渡す方法です。これは、strings.xmlファイルで以前定義した値を使用します。これを行うには、文字列リソースが上記のものと同じキーを使用して定義されなければなりません。
ユーザー認証イベントを処理するAuthenticationCallback実装を宣言します。正常な認証シナリオで返されるCredentialsオブジェクトには、アプリケーションまたはAPIが最終的にコンシュームするトークンが含まれます。詳細については、「トークン」をご覧ください。
Builderクラスを使用して構成し、新しいLockインスタンスを準備します。アカウントの詳細と上記で宣言したCallback実装を提供します。オーディエンス、スコープ、使用可能な接続などの値はここで構成できます。完了したら、Lockインスタンスをビルドします。このインスタンスは、再使用されるように意図されており、必要なくなった時に廃棄されなければなりません。これを行うのに最適な場所は、アクティビティのonDestroyメソッド内です。 以下のサンプルは、useCode()メソッドを呼び出して、Lockがユーザーのメールまたは電話番号にCODE を送信するようにします。
最後に、アクティビティ内からPasswordlessLockウィジェットを起動します。
どのパスワードレス接続が有効になっているかに応じて、LockはCODE をメールまたはSMSで送信します。使用可能な場合は、最初に「メール」接続が選択されます。次に、ユーザーは確認手順でCODEを入力する必要があります。値がサーバーが期待するものと等しい場合、認証は成功します。