Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Berlaku untuk: Tenaga Kerja
Penyewa eksternal (pelajari lebih lanjut)
Tutorial ini menunjukkan cara masuk pengguna secara otomatis setelah mendaftar di aplikasi Android dengan menggunakan autentikasi asli.
Di tutorial ini, Anda akan:
- Masuk setelah mendaftar.
- Menangani kesalahan.
Prasyarat
- Selesaikan langkah-langkah Memasukkan pengguna dalam sampel aplikasi seluler Android asli. Artikel ini memperlihatkan kepada Anda cara menjalankan contoh Android yang Anda konfigurasi dengan menggunakan pengaturan penyewa Anda.
- Tutorial: Menambahkan fitur daftar di aplikasi seluler Android menggunakan autentikasi bawaan. Langkah-langkah dalam tutorial ini akan berfungsi, baik Anda mendaftar dengan email dan kata sandi, atau dengan kode sandi sekali pakai melalui email.
Login setelah mendaftar
Setelah alur pendaftaran berhasil, Anda dapat membuat pengguna Anda masuk secara otomatis tanpa memulai alur masuk yang baru.
SignUpResult.Complete
mengembalikan objek SignInContinuationState
. Objek SignInContinuationState
menyediakan akses ke metode signIn(parameters)
.
Untuk mendaftarkan pengguna dengan email dan kata sandi, lalu secara otomatis masuk, gunakan cuplikan kode berikut:
CoroutineScope(Dispatchers.Main).launch {
val parameters = NativeAuthSignUpParameters(username = email)
parameters.password = password
val actionResult: SignUpResult = authClient.signUp(parameters)
if (SignUpActionResult is SignUpResult.CodeRequired) {
val nextState = signUpActionResult.nextState
val submitCodeActionResult = nextState.submitCode(
code = code
)
if (submitCodeActionResult is SignUpResult.Complete) {
// Handle sign up success
val signInContinuationState = actionResult.nextState
val parameters = NativeAuthSignInContinuationParameters()
val signInActionResult = signInContinuationState.signIn(parameters)
if (signInActionResult is SignInResult.Complete) {
// Handle sign in success
val accountState = signInActionResult.resultValue
val getAccessTokenParameters = NativeAuthGetAccessTokenParameters()
val accessTokenResult = accountState.getAccessToken(getAccessTokenParameters)
if (accessTokenResult is GetAccessTokenResult.Complete) {
val accessToken = accessTokenResult.resultValue.accessToken
val idToken = accountState.getIdToken()
}
}
}
}
}
Untuk mengambil klaim token ID setelah masuk, gunakan langkah-langkah di Membaca klaim token ID.
Menangani kesalahan masuk
Metode SignInContinuationState.signIn(parameters)
mengembalikan SignInResult.Complete
setelah berhasil masuk. Ini juga dapat menghasilkan pesan kesalahan.
Untuk menangani kesalahan di SignInContinuationState.signIn(parameters)
, gunakan cuplikan kode berikut:
val parameters = NativeAuthSignInContinuationParameters()
val signInActionResult = signInContinuationState.signIn(parameters)
when (signInActionResult) {
is SignInResult.Complete -> {
// Handle sign in success
displayAccount(accountState = actionResult.resultValue)
}
is SignInContinuationError -> {
// Handle unexpected error
}
else -> {
// Handle unexpected error
}
}
private fun displayAccount(accountState: AccountState) {
CoroutineScope(Dispatchers.Main).launch {
val getAccessTokenParameters = NativeAuthGetAccessTokenParameters()
val accessTokenResult = accountState.getAccessToken(getAccessTokenParameters)
if (accessTokenResult is GetAccessTokenResult.Complete) {
val accessToken = accessTokenResult.resultValue.accessToken
val idToken = accountState.getIdToken()
}
}
}