2016-08-30 69 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

将新的登录令牌添加到登录映射中,并获取一组新的凭据。 –

相关问题