所以我已经在Cognito中使用用户池成功验证了用户身份。
根据我的理解,在我们利用任何AWS服务(dynamodb,S3等)之前,我们需要再次从AWS Cognito Credential Provider获取cognitoID
。
AWSCognitoCredentialsProvider
从User PoolID委托成功登录后,我这样做
credentialProvider = AWSCognitoCredentialsProvider(regionType:
AWS_Region_type, identityPoolId: AWS_IdentityPool_ID,
identityProviderManager: devCredentialProvider)
let configuration = AWSServiceConfiguration(region: AWS_Region_type, credentialsProvider: credentialProvider)
AWSServiceManager.default().defaultServiceConfiguration = configuration
但每次我得到的用户都没有经过身份验证。现在,如果用户未经过身份验证,那么我无法使用Cognito用户池登录。我究竟做错了什么?
请不要提供现有aws文档的资源,这些都是极具误导性的。
此外,来自Cocoapods的AWS软件包与文档的软件包不匹配,并且不存储在钥匙串(id标记)中,因此我的登录UI每次都会打开。 我们可以通过两种方式通过Cocoapods / Carthage或AWS Console中的Mobile HUB获取AWS SDK。现在我很困惑,我使用哪一个? 我还使用了移动HUB的示例项目,但如果我的后端(AWS控制台)已经设置并且我只需要实现前端怎么办?
此外我的后端是在USEast2上设置的,但在创建移动HUB项目时,有否 USEast2。
如果有人能够清楚我到底做错了什么,那就太好了,因为我已经浪费了大量的时间而且徒劳无功。
答案 0 :(得分:0)
不推荐使用MobileHubHelper框架,AWS iOS SDK使用Auth SDK来管理AWS身份验证。建议你使用它。您可以在此处找到相关说明:https://docs.aws.amazon.com/aws-mobile/latest/developerguide/add-aws-mobile-user-sign-in.html
谢谢, 罗汉