微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

AWS Amplify使用Swift进行注册

如何解决AWS Amplify使用Swift进行注册

问题1。

我已经创建了一个示例(注册,确认代码登录)应用程序。用户仅使用电子邮件和密码的地方。设置应用程序时,我选择“电子邮件”选项进行身份验证。

我非常确定问题出在我仅使用电子邮件和密码的signUp方法上。

问题:

登录时,我尝试显示我的用户名用户ID,因为那是它给我的仅有的两个选项。但是它们显示为如下所示的相同值。

f234c29f-03ed-5ff3-625sd1224482

问题2。其他相关问题:

我相信这不会创建iAM用户。因此,我将如何查看在我的应用程序中创建的所有用户。我浏览了我的应用所在的移动中心,并找到了2个选项(用户,联合用户)。用户告诉我创建一个用户池,联合用户向我显示我认为的时间段内的登录信息。

这是我第一次使用AWS,因此请在回答中给出解释,以帮助我更好地理解。

    // Create user with Email and Password
    func signUp(email: String,password: String){
           _ = Amplify.Auth.signUp(username: email,password: password){ [weak self] result in
                switch result {
                    case .success(let signUpResult):
                        print("Sign Up result:",signUpResult)
                        
                        switch signUpResult.nextStep {
                            case .done:
                                print("Finished sign up")
                            case .confirmUser(let details,_):
                                print(details ?? "no details")
                                
                                dispatchQueue.main.async {
                                    self?.authState = .confirmCode(username: email)
                                }
                        }
                        
                    case .failure(let error):
                        print("Sign Up Error",error)
                }
        }
    }
    
    // Confirm New User with Confirmation code
    func confirm(username: String,code: String){
        _ = Amplify.Auth.confirmSignUp(for: username,confirmationCode: code){ [weak self] result in
            switch result {
                case .success(let confirmResult):
                    print(confirmResult)
                    if confirmResult.isSignupComplete {
                        dispatchQueue.main.async {
                            self?.showLogin()
                        }
                    }
                
                case .failure(let error):
                    print("Failed to confirm code:",error)
            }
        }
    }
    
    // Login Existing User
    func login(username: String,password: String){
        _ = Amplify.Auth.signIn(username: username,password: password) { result in
            switch result {
                case .success(let signInResult):
                    print(signInResult)
                    if signInResult.isSignedIn {
                        dispatchQueue.main.async {
                            self.getCurrentAuthUser()
                        }
                    }
                case .failure(let error):
                    print("Login error:",error)
                }
        }
    }
    
    // Signout method
    func signOut(){
        _ = Amplify.Auth.signOut { [weak self] result in
            switch result {
            case .success:
                dispatchQueue.main.async {
                    self?.getCurrentAuthUser()
                }
            case .failure(let error):
                print("Sign out error:",error)
            }
            
        }
    }

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。