2016-08-30 17 views
2

我是新使用AWS Cognito並遇到問題 - 我已經設法在應用程序上獲取未經身份驗證的ID以在認知中創建數據表。但是,我通過AWS Cognito儀表板刪除了此ID,以查看會發生什麼,並希望能夠通過Facebook進行身份驗證。有沒有辦法做到這一點成功?我收到「未找到身份XXX」錯誤。如何在AWS Cognito的同一設備上創建新的身份?

let token = FBSDKAccessToken.currentAccessToken().tokenString 

    let credentialsProvider = AWSCognitoCredentialsProvider(regionType:.USXXX, 
                  identityPoolId:"XXXX-XXX-XXXXXX") 

    print(credentialsProvider.getIdentityId()) 


    credentialsProvider.logins = [AWSCognitoLoginProviderKey.Facebook.rawValue: token] 

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

    AWSServiceManager.defaultServiceManager().defaultServiceConfiguration = configuration 

此外,聯合和非聯合身份識別之間的差異的任何方向將是有幫助的。

回答

0

我完全有這個問題。 SDK緩存它。你只需要清除緩存。更多信息在這裏。 Delete and Retrieve AWS Cognito identity inside Cognito Federated Identity Pool

+1

Cognito開發人員在這裏 - 這是一個公平的解決方案。問題在於SDK緩存了身份標識,並且不知道它已被刪除,所以如果您正在從控制檯中刪除,那麼測試這樣的鉤子是有道理的。 –

+0

@JeffBailey如何用Facebook令牌創建新的認證ID?我使用Facebook登錄,如果用戶已經登錄,我打電話給上面看到的AWS Cognito代碼。但是,在聯合身份驗證的aws認知儀表板中,它仍然顯示已通過Facebook進行身份驗證的0個用戶。 –

+0

將新的登錄令牌添加到登錄映射中,並獲取一組新的憑據。 –

相關問題