AWS Cognito登录iOS(swift)

时间:2017-09-05 07:53:17

标签: ios swift aws-cognito

我正在使用AWS Cognito。场景非常简单。用户提示输入用户名,密码,电子邮件地址和电话号码。要求是当用户按下注册按钮时,会向提供的电子邮件地址发送确认电子邮件。确认后,他成功注册了。

到现在为止做的事情:

创建Xcode项目并安装必要的pod。

按照AWS官方文档设置用户池。

使用以下代码设置配置:

let credentialsProvider = AWSCognitoCredentialsProvider(regionType: .######, identityPoolId: "######")
        let configuration = AWSServiceConfiguration(region: ######, credentialsProvider: credentialsProvider)

    AWSServiceManager.default().defaultServiceConfiguration = configuration

使用以下代码让用户注册。

@IBAction func SignUpClicked(_ sender: UIButton) {

        let userName = textFieldUsername.text
        let emailAddress = textFieldEmailAddress.text
        let phoneNo = textFieldPhoneNo.text
        let password = textFieldPassword.text
        let userPool = AWSCognitoIdentityUserPool(forKey: "myApp")

        let name = AWSCognitoIdentityUserAttributeType()
        name?.name = "name"
        name?.value = userName

        let phone = AWSCognitoIdentityUserAttributeType()
        phone?.name = "phone_number"
        phone?.value = phoneNo

        let email = AWSCognitoIdentityUserAttributeType()
        email?.name = "email"
        email?.value = emailAddress

        userPool.signUp(userName!, password: password!, userAttributes: [name!, phone!, email!], validationData: nil)
    }

接下来我应该做什么?我错过了什么吗? 我搜索了很多,但发现的内容是客观的c或与使用身份提供商注册相关。所以它没有帮助!

2 个答案:

答案 0 :(得分:0)

快速的例子很难得到,但你可以尝试这些 -

https://github.com/BruceBuckland/SignIn-awsmhh

AWS Cognito User Pools in iOS (Swift) app

答案 1 :(得分:0)

在Swift中

您可以在编写代码时作为参考,也可以查看一下Objective C和Swift中的外观代码。

CognitoYourUserPools-示例引用

https://github.com/awslabs/aws-sdk-ios-samples/tree/main/CognitoYourUserPools-Sample