2016-08-05 2 views
0

Facebook 자격 증명을 사용하여 AWS에 로그인하려고합니다. 필자는 Amazon Cognito에서 소셜 ID 공급자로 Facebook을 사용하여 페더레이션 ID를 설정했지만 어떤 이유로 인증하지 않았습니다. 아마존의 문서는 최신 버전이 아니므로 무엇을해야할지 모르겠습니다. MyProvider의 클래스 다음iSight AWS Cognito 및 Facebook 인증

let token = FBSDKAccessToken.currentAccessToken().tokenString 

    let provider = MyProvider(tokens: [AWSIdentityProviderFacebook: token]) 


    let credentialsProvider = AWSCognitoCredentialsProvider(regionType: region, identityPoolId: poolId, identityProviderManager: provider) 


    let configuration = AWSServiceConfiguration(region: region, credentialsProvider:credentialsProvider) 

    AWSServiceManager.defaultServiceManager().defaultServiceConfiguration = configuration 

    let id = credentialsProvider.getIdentityId() 

됩니다 : 아래

은 iOS 앱에서 일부 빠른 코드 나 페이스 북 로그인로부터 토큰을 얻을 수 있어요

import Foundation 
import AWSCognitoIdentityProvider 

class MyProvider:NSObject, AWSIdentityProviderManager{ 
    var tokens : [NSString : NSString]? 
    init(tokens: [NSString : NSString]) 
    { 
     self.tokens = tokens 
    } 
    @objc func logins() -> AWSTask { 

     return AWSTask(result: tokens) 
    } 
} 

하지만 난이 통과 할 때 Cognito 토큰 "NotAuthorizedException" "Token이이 ID 풀의 지원되는 제공자가 아닙니다."와 같은 오류가 발생합니다. AWSCognitoCredentialsProvider에 전달한 풀 ID와 영역은 Amazon Cognito의 것과 일치하며 MyProvider에서 정의한 메서드가 호출됩니다. 누구나 일할 수 있다면 일한 것을 공유하십시오. 나는 조언과 도움을 주셔서 감사합니다!

답변

0

대신에 AWSCognitoLoginProviderKey.Facebook.rawValue을 사용해보세요. 내 문제를 어떻게 든 해결했습니다. 내가 한 모든 것은 내 ID 풀과 Facebook 앱을 삭제하고 새 앱을 만들었습니다. 이제는 잘 작동합니다.

0

로그인 맵의 키는 graph.facebook.com이어야합니다. AWSIdentityProviderFacebook

+1

AWSCognitoLoginProviderKey.Facebook.rawValue가 사용되지 않습니다. – plot

+0

안녕하세요, AWS를 통해 Facebook 로그인을 구현하셨습니까? 나는 이것을 수행하기 위해 고심하고있다. – vijay

+0

Cognito를 사용하는 데 필요한 코드와 설정의 양은 마음에 드는 것입니다. Firebase가 훨씬 더 똑똑하고 신속하게 통합하는 것이 더 쉬운 것으로 나타났습니다. – Annjawn