Oktatóanyag: A felhasználó automatikus bejelentkezése androidos alkalmazásba való regisztráció után
Ez az oktatóanyag bemutatja, hogyan jelentkezhet be automatikusan a felhasználóba, miután natív hitelesítéssel regisztrált egy Android-alkalmazásba.
Ebben az oktatóanyagban az alábbiakkal fog megismerkedni:
- Bejelentkezés a regisztráció után.
- Hibák kezelése.
Előfeltételek
- Végezze el a felhasználók bejelentkezésének lépéseit egy natív Android-mintaalkalmazásban. Ez a cikk bemutatja, hogyan futtathat egy minta Androidot, amelyet a bérlői beállítások használatával konfigurál.
- Oktatóanyag: Regisztráció hozzáadása androidos mobilalkalmazásban natív hitelesítéssel. Az oktatóanyag lépéseinek működnie kell, akár e-mailben, akár jelszóval vagy egyszeri jelszóval regisztrál.
Bejelentkezés a regisztráció után
A sikeres regisztrációs folyamat után automatikusan bejelentkezhet a felhasználókba anélkül, hogy új bejelentkezési folyamatot indítanának.
A SignUpResult.Complete
visszaadott SignInContinuationState
objektum. Az SignInContinuationState
objektum hozzáférést biztosít a metódushoz signIn()
.
Ha e-mail-címmel és jelszóval szeretne regisztrálni egy felhasználót, majd automatikusan bejelentkezni, használja a következő kódrészletet:
CoroutineScope(Dispatchers.Main).launch {
val signUpActionResult = authClient.signUp(
username = emailAddress,
password = password
)
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 signInActionResult = signInContinuationState.signIn()
if (signInActionResult is SignInResult.Complete) {
// Handle sign in success
val accountState = signInActionResult.resultValue
val accessTokenResult = accountState.getAccessToken()
if (accessTokenResult is GetAccessTokenResult.Complete) {
val accessToken = accessTokenResult.resultValue.accessToken
val idToken = accountState.getIdToken()
}
}
}
}
}
Az azonosító jogkivonat-jogcímek bejelentkezés utáni lekéréséhez használja az Olvasási azonosító jogkivonat jogcímeinek lépéseit.
Bejelentkezési hibák kezelése
A SignInContinuationState.signIn()
metódus egy sikeres bejelentkezés után tér vissza SignInResult.Complete
. Hibát is visszaadhat.
A hibák SignInContinuationState.signIn()
kezeléséhez használja a következő kódrészletet:
val signInContinuationState = actionResult.nextState
val signInActionResult = signInContinuationState.signIn()
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 accessTokenResult = accountState.getAccessToken()
if (accessTokenResult is GetAccessTokenResult.Complete) {
val accessToken = accessTokenResult.resultValue.accessToken
val idToken = accountState.getIdToken()
}
}
}
Következő lépések
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: