要件
Android APIバージョン21以降が必要です。インストール
SDKをプロジェクトに追加します。ライブラリーはAuth0のAuthentication APIとに要求を行います。Auth0をGradleに追加する
アプリのbuild.gradle
依存関係セクションで、以下を追加します。
+
記号をリンティングする場合、または固定バージョン使用したい場合は、MavenまたはJCenterで最新バージョンを確認してください。
プロジェクトをGradleと同期させる
Android Studioのプロンプトを使って同期させるか、コマンドラインから
./gradlew clean build
を実行します。Gradleの使用に関する詳細は、公式のドキュメンテーションを確認してください。android
セクションで、AndroidとKotlinのプラグインのそれぞれに対して、Java 8バイトコードをターゲットにするようにします。
権限
アプリケーションのAndroidManifest.xml
ファイルを開いて、以下の権限を追加します。
ユニバーサルログインを構成する
まず、[Dashboard]>[Applications(アプリケーション)]の順に移動し、編集するアプリケーションの名前をクリックします。[Allowed Callback URLs(許可されたコールバックURL)] で、URLが次の形式であることを確認します:https://YOUR_DOMAIN/android/{YOUR_APP_PACKAGE_NAME}/callback
次に、{YOUR_APP_PACKAGE_NAME}
を実際のアプリケーションのパッケージ名に置き換えます。これはapp/build.gradle
ファイルにapplicationId
値としてあります。
それから、app/build.gradle
ファイルで、Auth0ドメインおよびAuth0スキームプロパティのマニフェストプレースホルダーを追加します。これをライブラリーが使用し、コールバックURIを取り込むインテントフィルタを登録します。
Web Authentication機能を使用する予定がなく、マニフェストのプレースホルダーで宣言したくない場合は、Androidアプリのマニフェストファイルで手動でアクティビティを再宣言し、マージされたマニフェストファイルからそれを削除します。これで、マニフェストのプレースホルダーがないことをGradleに指摘されることはなくなります。詳細についてはFAQをお読みください。
ハードコードするのではなく、
@string/com_auth0_domain
のように再利用できるリソースを定義しておくと便利です。Auth0を初期化する
Auth0クライアントIDとドメインの値を使用して、Auth0
オブジェクトを新規作成します。オブジェクトは、後でAuth0のエンドポイントとやり取りする際にこれを使用します。
次の手順
WebAuthProvider
クラスを使用してユーザーをアプリケーションにログインおよびアプリケーションからログアウトします。
ユーザーパスワードのリセット
ユーザーのパスワードリセットを開始するには、ユーザーのメールアドレスとデータベース接続をパラメーターとして使用してresetPassword
を呼び出します。
パスワードリセット要求は、ネットワーク関連のエラーが発生すると失敗しますが、指定されたメールがデータベースに存在しない場合には失敗しません(セキュリティ上の理由)。