介绍
如何让用户依据已有的账号来进行登录注册呢?在利用中集成华为 AGC 认证服务 SDK 来轻松疾速地实现这个性能。
本篇内容依据官网文档领导集成过程总结实现,对于集成步骤,官网的材料写的有点多,当初我总结一下步骤:
1、开明华为认证服务
2、在 iOS 我的项目中集成 SDK
3、设计登录注册页面
4、开启认证形式
5、注册登录性能开发
6、打包测试
开明华为认证服务
在 AppGallery Connect 页面点击 ” 我的我的项目 ”,在我的项目的利用列表中抉择须要开明认证的利用,导航抉择 ” 构建 > 认证服务 ”。如果是首次应用认证服务,请点击 ” 立刻开明 ” 开明服务。
集成 SDK
针对 Xcode 开发环境,您能够通过 Cocoapods 集成形式将认证 SDK 集成到您的 Xcode 开发环境中。
1. 在 Xcode 我的项目中增加以后利用的 AppGallery Connect 配置文件。
1) 登录 AppGallery Connect 网站,点击“我的我的项目”。
2) 在我的项目列表中找到您的我的项目,在我的项目下的利用列表中抉择您须要集成 SDK 的利用。
3) 点击“我的项目设置”中“利用”栏下的“agconnect-services.plist”下载配置文件。
4) 将“agconnect-services.plist”文件拷贝到利用级根目录下。
## 2. 创立 Podfile 文件。
关上命令行窗口,导航至 Xcode 我的项目所在的地位,创立 Podfile 文件。如果曾经存在,可跳过本步骤。
cd project-directory
pod init
3. 编辑 Podfile 文件。
1) 集成认证 SDK
编辑 Podfile 文件,减少 pod 依赖 pod‘’AGConnectAuth’。
target 'AGConnectAuthDemo' do
pod 'AGConnectAuth'
end
2) 执行 pod install,而后关上.xcworkspace 文件查看该我的项目。
# 界面设计
本次 Codelab 中您能够在 Xcode 工程中创立一个布局页面,参照下图进行 UI 设计,通过手机号、邮箱账号进行注册登录。
开启认证形式
1. 登录 AppGallery Connect 网站,点击“我的我的项目”。
2. 在我的项目列表中找到您的我的项目,在我的项目下的利用列表中抉择您的利用。
3. 在“构建”栏下找到“认证服务”,在 ” 认证形式 ” 页签下“操作”一栏里,点击启用手机号码、邮箱地址。
注册登录性能开发
1. 在将故事板的控件关联到 ViewController 中,以便您通过输入框取得登录注册所需的参数。
@IBOutlet weak var phoneText: UITextField!// 手机账号输入框
@IBOutlet weak var phoneVertifyText: UITextField!// 手机验证码输入框
@IBOutlet weak var phonePassword: UITextField!// 手机账号密码输入框
@IBOutlet weak var emailText: UITextField!// 邮箱账号输入框
@IBOutlet weak var emailVertifyText: UITextField!// 邮箱验证码输入框
@IBOutlet weak var emailPassword: UITextField!// 邮箱账号密码输入框
2. 如果应用的是未注册过的手机号,首先您须要发送验证码到手机,来验证是否自己注册。输出手机号码,点击“发送验证码”按钮,代码执行到申请手机验证码的办法,在返回中能够看到发送后果。
@IBAction func phoneSendVertifyCode(_ sender: Any) {let setting = AGCVerifyCodeSettings.init(action: AGCVerifyCodeAction.registerLogin, locale: nil, sendInterval: 30)
AGCPhoneAuthProvider.requestVerifyCode(withCountryCode: "86", phoneNumber: phoneText.text ?? "", settings: setting).onSuccess {(results) in
// 手机验证码发送胜利
}.onFailure {(error) in
// 手机验证码发送失败
}
}
3. 手机收到验证码后,输出验证码和您要设置的明码,就能够进行注册了。在页面上点击“register”按钮,执行手机号注册的办法,注册后果您也能够在 block 返回中看到。
@IBAction func register(_ sender: Any) {AGCAuth.instance().createUser(withCountryCode: "86", phoneNumber: phoneText.text ?? "", password: phonePassword.text ??"", verifyCode: phoneVertifyText.text ?? "").onSuccess {(result) in
// 手机注册胜利
}.onFailure {(error) in
// 手机注册失败
}
}
4. 注册胜利后,输入您的手机号和设置的明码,点击“login”按钮进行登录。这样您就实现了,应用 AGConnectAuth 进行手机号注册登录的步骤。
@IBAction func login(_ sender: Any) {let credential = AGCPhoneAuthProvider.credential(withCountryCode: "86", phoneNumber: phoneText.text ?? "", password: phonePassword.text ??"")
AGCAuth.instance().signIn(credential: credential).onSuccess {(result) in
// 登录胜利
}.onFailure {(error) in
// 登录失败
}
}
5. 如果应用的是未注册过的邮箱账号,首先须要发送验证码到邮箱来验证。输出邮箱号码,点击“发送验证码”按钮,代码执行到申请邮箱验证码的办法,在返回中您也能够看到发送后果。
@IBAction func emailSendVertifyCode(_ sender: Any) {let setting = AGCVerifyCodeSettings.init(action: AGCVerifyCodeAction.registerLogin, locale: nil, sendInterval: 30)
AGCEmailAuthProvider.requestVerifyCode(withEmail: emailText.text ?? "", settings: setting).onSuccess {(result) in
// 邮箱验证码发送胜利
}.onFailure {(error) in
// 邮箱验证码发送失败
}
}
6. 邮箱收到验证码后,输出验证码和您要设置的明码,点击“register”按钮,就能够实现注册了。
@IBAction func register(_ sender: Any) {AGCAuth.instance().createUser(withEmail: emailText.text ?? "", password: emailPassword.text ??"", verifyCode: emailVertifyText.text ?? "").onSuccess {(result) in
// 邮箱注册胜利
}.onFailure {(error) in
// 邮箱注册失败
}
}
7. 注册胜利后,输入您的邮箱号和设置的明码,点击“login”按钮进行登录。这样您就实现了,应用 AGConnectAuth 进行邮箱注册登录的步骤。
@IBAction func login(_ sender: Any) {let credential = AGCEmailAuthProvider.credential(withEmail: emailText.text ?? "", password: emailPassword.text ??"")
AGCAuth.instance().signIn(credential: credential).onSuccess {(result) in
// 登录胜利
}.onFailure {(error) in
// 登录失败
}
}
8. 调用 signOut 办法,退出登录状态。
@IBAction func logout(_ sender: Any) {AGCAuth.instance().signOut()}
打包测试
1. 在 Xcode 上点击运行按钮,在手机或模拟器上运行利用。输出手机号码,点击“发送验证码”按钮,待手机收到验证码,输出验证码和您要设置的明码,点击“register”,打断点查看是否注册胜利,注册胜利后点击“login”。打断点查看返回后果,result 能够看到登录胜利后的用户信息。
2. 验证邮箱注册登录性能时,首先要点击“logout”按钮退出登录状态,否则再次登录会失败。输出邮箱账号,点击“发送验证码”按钮,输出验证码和您要设置的明码,点击“register”,注册胜利后点击“login”。查看 result 能够看到登录胜利后的用户信息。
总结
认证服务集成简略,SDK 依赖体积小,能够实现跨平台的分享,Android 和 iOS 都能够反对,不须要在不同的平台做不同的适配了,节约工作量。
经营做推广能够再 AGC 界面上创立,开发做分享性能能够在端侧用代码创立,几乎完满。
参考文档:
华为 AGC 认证服务开发文档:https://developer.huawei.com/…
更多精彩内容,请见华为开发者官方论坛→https://developer.huawei.com/…