如何解决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 举报,一经查实,本站将立刻删除。