Skip to main content

Android アプリケーションにログイン機能を追加する

WebAuthProvider.login メソッドを使用して、ユーザーをログインさせることができます。
WebAuthProvider.login(account)
  .withScheme(getString(R.string.com_auth0_scheme))
  .withScope("openid profile email")
  .start(this, object : Callback<Credentials, AuthenticationException> {
    override fun onFailure(exception: AuthenticationException) {
       // 認証に失敗しました
     }

      override fun onSuccess(credentials: Credentials) {
         // 認証に成功しました
       }
  })
認証結果は onSuccess コールバックに渡されます。 WebAuthProvider クラスのその他のオプションについては、Auth0.Android configurationを参照してください。

Android アプリケーションにログアウトを追加する

ユーザーをログアウトさせるには、WebAuthProvider.logout メソッドを呼び出します。ログアウトの結果は onSuccess コールバックで受け取れます。 このメソッドは、認証時にブラウザーで設定された Cookie を削除するため、ユーザーは次回認証を行う際に認証情報を再入力する必要があります。
ログアウトがキャンセルされた場合は、ログアウトを試みる前の画面にユーザーを戻すことを検討してください。
WebAuthProvider.logout(account)
  .withScheme("demo")
  .start(this, object: Callback<Void?, AuthenticationException> {
    override fun onSuccess(payload: Void?) {
      // ユーザーがログアウトしました!
    }

    override fun onFailure(error: AuthenticationException) {
      // エラーが発生しました!
    }
  })

ユーザーのユーザープロファイルを表示する

AuthenticationAPIClient クラスを使用して、Auth0 からユーザーのユーザープロファイルを取得します。これには、次のものが必要です。
  • ログイン時に受け取った
  • WebAuthProvider.login の呼び出し時に含める profile スコープ
  • ユーザーのメールアドレスを取得する場合の email スコープ
このサンプルでは、ユーザーのユーザープロファイルを取得して画面に表示する関数を紹介します。
var client = AuthenticationAPIClient(account)

// 受け取ったアクセストークンを使用して `userInfo` を呼び出し、Auth0 からプロフィールを取得します。
client.userInfo(accessToken)
  .start(object : Callback<UserProfile, AuthenticationException> {
      override fun onFailure(exception: AuthenticationException) {
          // エラーが発生しました!
      }

      override fun onSuccess(profile: UserProfile) {
        // ユーザーのプロフィールを取得しました!
        val email = profile.email
        val name = profile.name
      }
})