복붙노트

[SWIFT] AWS Cognito 스위프트 자격 증명 제공자는 "로그인이되지 않습니다 : 사용 AWSIdentityProviderManager"

SWIFT

AWS Cognito 스위프트 자격 증명 제공자는 "로그인이되지 않습니다 : 사용 AWSIdentityProviderManager"

해결법


  1. 1.나는이 문제에 유일한 아니었다에서 둘러보고 후, 나는 마침내 발견했다. AWS는 그들의 주요 문서를 변경하지 않고 자신의 SDK를 업데이트했습니다. 이 솔루션은 자격 증명 공급자에 대한 그 사용자 정의 클래스에서 AWSCognitoIdentityProviderManager 및 피드를 구현하는 것입니다. (그것의 더 빠른 수정의) 아래의 GitHub의 토론에 simaomi에 의해 제공을 Heres 코드 :

    나는이 문제에 유일한 아니었다에서 둘러보고 후, 나는 마침내 발견했다. AWS는 그들의 주요 문서를 변경하지 않고 자신의 SDK를 업데이트했습니다. 이 솔루션은 자격 증명 공급자에 대한 그 사용자 정의 클래스에서 AWSCognitoIdentityProviderManager 및 피드를 구현하는 것입니다. (그것의 더 빠른 수정의) 아래의 GitHub의 토론에 simaomi에 의해 제공을 Heres 코드 :

    import Foundation
    import AWSCore
    import AWSCognito
    import AWSCognitoIdentityProvider
    class CustomIdentityProvider: NSObject, AWSCognitoIdentityProviderManager{
        var tokens : [NSString : NSString]?
        init(tokens: [NSString : NSString]) {
            self.tokens = tokens
        }
        @objc func logins() -> AWSTask {
            return AWSTask(result: tokens)
        }
    }
    
    
    let customProviderManager = CustomIdentityProvider(tokens: logins!)
    
    self.credentialsProvider = AWSCognitoCredentialsProvider(
       regionType: Constants.COGNITO_REGIONTYPE,
       identityPoolId: Constants.COGNITO_IDENTITY_POOL_ID,
       identityProviderManager: customProviderManager)
    

    당신이 정말로 솔루션을 구현하는 방법은 SDK의 예를 보여줍니다

    토론 여기를보세요 : https://github.com/aws/aws-sdk-ios/issues/357

    여기에 업데이트 된 SDK의 예제 : https://github.com/awslabs/aws-sdk-ios-samples/tree/developer-authenticated-identities-2-4/CognitoSync-Sample

  2. from https://stackoverflow.com/questions/37597388/aws-cognito-swift-credentials-provider-logins-is-deprecated-use-awsidentitypro by cc-by-sa and MIT license