Sdílet prostřednictvím


Kurz: Automatické přihlášení uživatele po registraci v aplikaci pro iOS/macOS

platí pro: bílý kruh se šedým symbolem X. pracovníci zelený kruh s bílým symbolem zaškrtnutí. externí nájemníci (další informace)

Tento kurz ukazuje, jak se přihlásit uživatele automaticky po registraci v aplikaci pro iOS/macOS pomocí nativního ověřování.

V tomto kurzu se naučíte:

  • Přihlaste se po registraci.
  • Vyřešte chyby

Požadavky

Přihlášení po registraci

Sign in after sign up je vylepšená funkce v uživatelských přihlašovacích procesech, která umožňuje automatické přihlášení po úspěšné registraci. Sada SDK poskytuje vývojářům možnost přihlásit se uživatele po registraci, aniž by museli zadat uživatelské jméno nebo ověřit e-mailovou adresu prostřednictvím jednorázového hesla.

Chcete-li přihlásit uživatele po úspěšné registraci, použijte metodu signIn(delegate) z nového stavu SignInAfterSignUpState, který byl vrácen v 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) přijímá instanci MSALNativeAuthSignInAfterSignUpParameters a parametr delegáta a musíme implementovat požadované metody v protokolu SignInAfterSignUpDelegate.

V nejběžnějším scénáři obdržíme volání onSignInCompleted(result) označující, že se uživatel přihlásil. Výsledek lze použít k získání 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) přijímá instanci MSALNativeAuthGetAccessTokenParameters a parametr delegáta a musíme implementovat požadované metody v protokolu CredentialsDelegate.

V nejběžnějším scénáři obdržíme volání na onAccessTokenRetrieveCompleted(result), které označuje, že uživatel získal 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)"
    }
}

Nastavení vlastního poskytovatele identitních deklarací

Pokud chcete přidat nároky z externího systému do tokenu vydaného vaší aplikaci, použijte vlastního zprostředkovatele nároků. Vlastní zprostředkovatel deklarací identity se skládá z vlastního rozšíření ověřování, které volá externí rozhraní REST API pro načtení deklarací identity z externích systémů.

Postupujte podle kroků v Konfigurace vlastního poskytovatele deklarací identity pro přidání deklarací z externího systému do tokenů zabezpečení.

Další krok