Condividi tramite


Esercitazione: Accedere un utente automaticamente dopo l'iscrizione in un'app iOS/macOS

Si applica a: cerchio bianco con un simbolo X grigio.tenant della forza lavorocerchio verde con un simbolo di segno di spunta bianco.tenant esterni (ulteriori informazioni)

Questa esercitazione illustra come accedere automaticamente all'utente dopo l'iscrizione in un'app iOS/macOS usando l'autenticazione nativa.

In questa esercitazione si apprenderà come:

  • Accedi dopo l'iscrizione.
  • Gestire gli errori.

Prerequisiti

Effettua l'accesso dopo la registrazione

Il Sign in after sign up è una funzionalità migliorativa nei flussi utente di accesso, che comporta l'accesso automatico dopo una registrazione avvenuta con successo. L'SDK offre agli sviluppatori la possibilità di accedere a un utente dopo l'iscrizione, senza dover specificare il nome utente o di verificare l'indirizzo di posta elettronica tramite un passcode monouso.

Per autenticare un utente dopo la registrazione avvenuta con successo, usare il metodo signIn(delegate) dal nuovo stato SignInAfterSignUpState restituito in onSignUpCompleted(newState):

extension ViewController: SignUpVerifyCodeDelegate {
    func onSignUpVerifyCodeError(error: MSAL.VerifyCodeError, newState: MSAL.SignUpCodeRequiredState?) {
        resultTextView.text = "Error verifying code: \(error.errorDescription ?? "no description")"
    }

    func onSignUpCompleted(newState: SignInAfterSignUpState) {
        resultTextView.text = "Signed up successfully!"
        let parameters = MSALNativeAuthSignInAfterSignUpParameters()
        newState.signIn(parameters: parameters, delegate: self)
    }
}

Il signIn(parameters:delegate) accetta un'istanza di MSALNativeAuthSignInAfterSignUpParameters e un parametro delegato ed è necessario implementare i metodi necessari nel protocollo SignInAfterSignUpDelegate.

Nello scenario più comune viene ricevuta una chiamata a onSignInCompleted(result) che indica che l'utente ha eseguito l'accesso. Il risultato può essere usato per recuperare il access token.

extension ViewController: SignInAfterSignUpDelegate {
    func onSignInAfterSignUpError(error: SignInAfterSignUpError) {
        resultTextView.text = "Error signing in after sign up"
    }

    func onSignInCompleted(result: MSAL.MSALNativeAuthUserAccountResult) {
        // User successfully signed in
        let parameters = MSALNativeAuthGetAccessTokenParameters()
        result.getAccessToken(parameters: parameters, delegate: self)
    }
}

Il getAccessToken(parameters:delegate) accetta un'istanza di MSALNativeAuthGetAccessTokenParameters e un parametro delegato ed è necessario implementare i metodi necessari nel protocollo CredentialsDelegate.

Nello scenario più comune viene ricevuta una chiamata a onAccessTokenRetrieveCompleted(result) che indica che l'utente ha ottenuto un access token.

extension ViewController: CredentialsDelegate {
    func onAccessTokenRetrieveError(error: MSAL.RetrieveAccessTokenError) {
        resultTextView.text = "Error retrieving access token"
    }

    func onAccessTokenRetrieveCompleted(result: MSALNativeAuthTokenResult) {
        resultTextView.text = "Signed in. Access Token: \(result.accessToken)"
    }
}

Configurare un provider di attestazioni personalizzato

Se vuoi aggiungere attestazioni da un sistema esterno al token rilasciato all'app, usa un provider di attestazioni personalizzato . Un provider di attestazioni personalizzato è costituito da un'estensione di autenticazione personalizzata che chiama un'API REST esterna per recuperare le attestazioni da sistemi esterni.

Seguire la procedura descritta in Configurare un provider di attestazioni personalizzato per aggiungere attestazioni da un sistema esterno ai token di sicurezza.

Passaggio successivo