Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Gäller för:
Externa klienter (läs mer)
Den här självstudien visar hur du loggar in användare automatiskt efter registrering i en iOS/macOS-app med inbyggd autentisering.
I den här handledningen kommer du att:
- Logga in efter registreringen.
- Hantera felmeddelanden.
Förutsättningar
- Om du använder iOS följer du stegen i Logga in användare i iOS-exempelmobilappen (Swift) med inbyggd autentisering. Om du använder macOS följer du stegen i Logga in användare i exempelappen macOS (Swift) med inbyggd autentisering. De här artiklarna visar hur du kör exempelappar som du konfigurerar med dina klientinställningar.
- Självstudie: Lägga till registrering i en iOS/macOS-app med inbyggd autentisering. Stegen i den här självstudien bör fungera oavsett om du registrerar dig med e-post och lösenord eller engångslösenord för e-post.
Logga in efter registreringen
Sign in after sign up Är en förbättringsfunktion i inloggningsanvändarflöden, vilket innebär att automatiskt logga in efter att du har registrerat dig. SDK ger utvecklare möjlighet att logga in en användare efter registreringen, utan att behöva ange användarnamnet eller verifiera e-postadressen via ett engångslösenord.
Om du vill logga in en användare efter lyckad registrering använder du signIn(delegate) metoden från det nya tillståndet SignInAfterSignUpState som returneras i 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)
}
}
signIn(parameters:delegate) accepterar en MSALNativeAuthSignInAfterSignUpParameters-instans och en delegatparameter och vi måste implementera de metoder som krävs i SignInAfterSignUpDelegate-protokollet.
I det vanligaste scenariot får vi ett anrop till onSignInCompleted(result) som anger att användaren har loggat in. Resultatet kan användas för att hämta 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)
}
}
getAccessToken(parameters:delegate) accepterar en MSALNativeAuthGetAccessTokenParameters-instans och en delegatparameter och vi måste implementera de metoder som krävs i CredentialsDelegate-protokollet.
I det vanligaste scenariot får vi ett anrop till onAccessTokenRetrieveCompleted(result) som anger att användaren fick en 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)"
}
}
Konfigurera anpassad anspråksleverantör
Om du vill lägga till anspråk från ett externt system i token som utfärdas till din app, använder du en anpassad anspråksleverantör. En anpassad anspråksprovider består av ett anpassat autentiseringstillägg som anropar ett externt REST API för att hämta anspråk från externa system.
Följ stegen i Konfigurera en anpassad anspråksprovider för att lägga till anspråk från ett externt system i dina säkerhetstoken.