Kurz: Automatické přihlášení uživatele po registraci v aplikaci pro Android
platí pro: pracovní nájemci
externí nájemci (další informace)
Tento kurz ukazuje, jak se přihlásit uživatele automaticky po registraci v aplikaci pro Android pomocí nativního ověřování.
V tomto kurzu se naučíte:
- Přihlaste se po registraci.
- Řešení chyb
Požadavky
- Dokončete kroky Přihlášení uživatelů v ukázkové nativní mobilní aplikaci pro Android. V tomto článku se dozvíte, jak spustit ukázkový Android, který nakonfigurujete pomocí nastavení tenanta.
- Návod : Přidání přihlášení do mobilní aplikace pro Android pomocí nativního ověřování. Postup v tomto kurzu by měl fungovat bez ohledu na to, jestli se zaregistrujete pomocí e-mailu a hesla nebo jednorázového hesla.
Přihlášení po registraci
Po úspěšném procesu registrace můžete uživatele automaticky přihlásit bez zahájení nového procesu přihlášení.
SignUpResult.Complete
vrátí objekt SignInContinuationState
. Objekt SignInContinuationState
poskytuje přístup k metodě signIn(parameters)
.
Pokud chcete zaregistrovat uživatele pomocí e-mailu a hesla, pak ho automaticky přihlásit, použijte následující fragment kódu:
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()
}
}
}
}
}
Pokud chcete po přihlášení načíst deklarace tokenu ID, použijte postup v Přečtěte si deklarace tokenu ID.
Zpracování chyb přihlášení
Metoda SignInContinuationState.signIn(parameters)
vrátí SignInResult.Complete
po úspěšném přihlášení. Může také vrátit chybu.
K zpracování chyb v SignInContinuationState.signIn(parameters)
použijte následující fragment kódu:
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()
}
}
}