Esercitazione: Accedere un utente automaticamente dopo l'iscrizione in un'app iOS/macOS
Si applica a: tenant della forza lavoro
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
- Se si usa iOS, seguire la procedura descritta in Accedere agli utenti nell'app per dispositivi mobili iOS (Swift) di esempio usando l'autenticazione nativa. Se si usa macOS, seguire la procedura descritta in Accedi gli utenti nell'app macOS (Swift) di esempio utilizzando l'autenticazione nativa. Questi articoli illustrano come eseguire app di esempio configurate usando le impostazioni del tenant.
- Esercitazione: Aggiungere la registrazione a un'app iOS/macOS usando l'autenticazione nativa. La procedura descritta in questa esercitazione dovrebbe essere valida se si effettua l'iscrizione tramite posta elettronica e password o un passcode monouso tramite posta elettronica.
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
Esercitazione : Reimpostazione autonoma della password