我正在尝试使用AWS Cognito和AWS DynamoDB为我的移动应用程序完成了AWS文档,但是我深入研究了我用来获得与另一个有某种程度上相互关联的新服务,请帮助解决什么是正确的方法我试图详细说明我可能会以错误的方式理解事物:
所以我有两个屏幕,一个是注册,另一个是登录
据我说,当用户通过放置他们的凭据登录我创建一个身份ID和数据集,这里成功创建的是iOS Swift的代码:
@IBAction func submitButtonAction(sender: UIButton)
{
var username = self.inputTfUn.text
var pass = self.inputPAss.text
let credentialProvider :AWSCognitoCredentialsProvider
let syncClient :AWSCognito
credentialProvider = AWSCognitoCredentialsProvider(regionType: AWSRegionType.USEast1, identityPoolId: "**your idetity id**")
let configuration = AWSServiceConfiguration(region :AWSRegionType.USEast1, credentialsProvider: credentialProvider)
AWSServiceManager.defaultServiceManager().defaultServiceConfiguration = configuration
syncClient = AWSCognito.defaultCognito()
credentialProvider.refresh().continueWithBlock { (task) -> AnyObject! in
print(credentialProvider.identityId)
let dataset = syncClient.openOrCreateDataset("UserData")
dataset.setString(self.inputTfUn.text, forKey: "username")
dataset.setString(self.inputPAss.text, forKey: "password")
dataset.synchronize().continueWithBlock({ (task) -> AnyObject! in
if(task.error == nil){
print("success")
}
return nil
})
return nil
}
}
`
点击提交
在AWS cognito中:
我在认知中有一个身份证和数据集.
现在我不确定如何获得用户身份验证.我是否需要将其保存到DynamoDB如果我必须保存它将如何工作我的意思是我也通过编写lambda函数和许多东西来尝试这个…但我认为我没有朝着正确的方向前进或者它不是正确的方法. ..请帮助,如果任何人明确正确的方法.
我将使用AWS Cognito和AWS Dynamo DB.
最佳答案 我的理解是您使用Cognito存储应用用户的凭据(用户名和密码).稍后,您希望根据Cognito数据集中存储的数据对您应用中的用户进行身份验证.这不是使用Cognito的正确用例,我们建议不要使用它.
对于用户身份验证,您可以使用任何公共登录提供程序,如Amazon,Facebook,Google,Twitter和任何OpenID Connect兼容提供程序.或者,您必须使用由后端服务器和数据库支持的自己的身份验证过程对应用程序用户进行身份验证.
用户通过身份验证后,您可以使用Cognito创建唯一身份并访问安全AWS资源.
如果您拥有自己的身份验证过程,然后将其与Cognito集成,则此Wiki可能会有所帮助:
http://docs.aws.amazon.com/cognito/devguide/identity/developer-authenticated-identities/