Megosztás a következőn keresztül:


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

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