Aracılığıyla paylaş


Öğretici: iOS/macOS uygulamasında kayıt olduktan sonra kullanıcı oturumunu otomatik olarak açma

Şunlar için geçerlidir: Beyaz onay işareti simgesi olan yeşil daire. iOS (Swift) Beyaz onay işareti simgesi olan yeşil daire. macOS (Swift)

Bu öğreticide, yerel kimlik doğrulaması kullanarak bir iOS/macOS uygulamasında kaydoldıktan sonra kullanıcının otomatik olarak nasıl oturum açdığı gösterilmektedir.

Bu öğreticide aşağıdakilerin nasıl yapılacağını öğreneceksiniz:

  • Kayıt olduktan sonra oturum açın.
  • Hataları işleyin.

Önkoşullar

Kaydoldıktan sonra oturum açma

Sign in after sign up, başarıyla kaydoldıktan sonra otomatik olarak oturum açma etkisine sahip olan oturum açma kullanıcı akışlarının geliştirme işlevselliğidir. SDK, geliştiricilere kaydoldıktan sonra kullanıcı adını sağlamak zorunda kalmadan veya e-posta adresini tek seferlik geçiş koduyla doğrulama olanağı sağlar.

Başarılı bir kayıttan sonra bir kullanıcıda oturum açmak için içinde döndürülen onSignUpCompleted(newState)yeni durumdan SignInAfterSignUpState yöntemini kullanınsignIn(delegate):

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!"
        newState.signIn(delegate: self)
    }
}

bir signIn(delegate) temsilci parametresi kabul eder ve protokolde SignInAfterSignUpDelegate gerekli yöntemleri uygulamamız gerekir.

En yaygın senaryoda, kullanıcının oturum açtığını onSignInCompleted(result) belirten bir çağrısı alırsınız. Sonuç, öğesini almak access tokeniçin kullanılabilir.

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

    func onSignInCompleted(result: MSAL.MSALNativeAuthUserAccountResult) {
        // User successfully signed in
        result.getAccessToken(delegate: self)
    }
}

bir getAccessToken(delegate) temsilci parametresi kabul eder ve protokolde CredentialsDelegate gerekli yöntemleri uygulamamız gerekir.

En yaygın senaryoda, kullanıcının bir edindiğini belirten bir access tokençağrısı onAccessTokenRetrieveCompleted(result) alırız.

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)"
    }
}

Özel talep sağlayıcısını yapılandırma

Uygulamanıza verilen belirteci bir dış sistemden talep eklemek istiyorsanız, özel talep sağlayıcısı kullanın. Özel talep sağlayıcısı, dış sistemlerden talep getirmek için dış REST API'yi çağıran özel bir kimlik doğrulama uzantısından oluşur.

Güvenlik belirteçlerinize dış sistemden talep eklemek için Özel talep sağlayıcısı yapılandırma'daki adımları izleyin.

Sonraki adım