通过AGC认证服务在iOS平台实现匿名登录功能

简介

AppGallery Connect认证服务提供了云侧服务和SDK,可以帮助开发者为应用快速构建安全可靠的用户认证系统,以便应用可以对用户进行身份认证。AppGallery Connect认证服务支持多种认证方式,并与其他Serverless服务紧密集成,开发者可以通过简单的规则定义来保护用户的数据安全。

开通服务和集成SDK

1、登录AppGallery Connect,点击“我的项目”后选择您的项目。

2、在导航选择“构建 > 认证”。如果是首次使用认证服务,请点击“立即开通”开通服务。

3、点击需要启动的认证方式所在行的“启用”,本文以选择启用“匿名帐号”为例。

4、选择常规页签下的“应用”区域,下载agconnect-services.plist配置文件到您的项目中。

5、打开命令行窗口,导航至Xcode项目所在的位置,创建Podfile文件。如果已经存在,可跳过本步骤。

cd project-directory
pod init

6、编辑Podfile文件,增加pod依赖pod 'AGConnectAuth'。

target 'AGC-Auth-1' do 
   pod 'AGConnectAuth' 
end

7、执行 pod install,然后打开xcworkspace文件查看该项目。

pod install

安装成功效果如下图。

界面设计

您可以在iOS项目中参照下图进行布局页面设计,具备匿名帐号登录按钮:

1.png

功能开发

1、在应用的AppDelegate类中引入AGConnectCore库,并在didFinishLaunchingWithOptions方法里调用AGCInstance.startUp进行初始化。

didFinishLaunchingWithOptions方法里调用AGCInstance.startUp进行初始化。
import AGConnectCore 
 
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { 
   AGCInstance.startUp() 
   return true 
}

2、在点击登录的方法中,初始化AGCAuth实例,调用signInAnonymously方法进行匿名登录。登录成功后,将uid显示在下方的resultLabel中。

@objc func login() { 
   AGCAuth.instance().signInAnonymously().onSuccess { (result) in 
      self.resultLabel.text = result?.user.uid 
   }.onFailure { (error) in 
      self.resultLabel.text = error.localizedDescription 
   } 
}

打包测试

在Xcode上点击运行按钮,在手机或模拟器上运行应用。点击“Anonymously Login”,匿名登录成功,按钮下方显示登录用户的uid。

4.png

参考文档

认证服务官方文档

欲了解更多更全技术文章,欢迎访问https://developer.huawei.com/consumer/cn/forum/?ha_source=zzh

{{o.name}}
{{m.name}}

猜你喜欢

转载自my.oschina.net/u/4478396/blog/5553185