跨平台uapp
跨平台uapp
  • 发布:2022-05-16 12:22
  • 更新:2022-05-16 12:22
  • 阅读:1589

如何实现苹果登录授权 Sign In with Apple

分类:uni-app

iOS 开发苹果登录授权 Sign In with Apple
网上关于苹果登录授权的文章已经已有很多,但大多数介绍有些繁琐,实际操作起来很简单。核心要获取到三个参数:team_id, client_id, key_id,再通过 uapp 命令生成 JWT Token 给后端就完事了。

苹果审核有一条规定,如果出现比如微信、QQ、Facebook等第三方账号登录时,必须要加上苹果登录,否则无法通过审核。苹果登录只针对 iOS 13及以上版本有效。

1、获取 team_id 和 client_id
进入 Identifiers 页:https://developer.apple.com/account/resources/identifiers/list

点 Identifiers+ ,注意这里输入的 com.code0xff.uapp.login 就是 client_id,换成你自己的。

下面的服务列表选中 Sign in with Apple, 点 Edit ,输入你自己服务器端的 Callback URL:

至此,我们已成功获得到两个参数 team_id 和 client_id。

2、获取 key.txt 和 key_id
进入 Keys 页:https://developer.apple.com/account/resources/authkeys/list

点 Keys+ 创建 Key,依次操作:输入 Key Name,选中 Sign in with Apple,Configure。

Configure 页面,选中在哪个 App 中使用:

点 Download,下载后文件改名为 key.txt,放入工程的 jwt 目录下:

jwt
├── config.json
└── key.txt

至此,我们已成功获得 key.txt 和 key_id。

3、通过 uapp 获得 JWT Token
JWT Token 是给服务端的,有效期6个月,所以要记得在快到6个月的时候重新生成替换。

如果还没有安装 uapp,可以通过 npm 安装:

npm i -g uapp
做完上面 jwt 目录下已经有了 key.txt,下面创建 config.json 并放入上面获得的 team_id, client_id, key_id。

jwt/config.json 内容如下:

{
"team_id": "3DSM494K6L",
"client_id": "com.code0xff.uapp.login",
"key_id": "3C7FMSZC8Z"
}
然后执行:

uapp info
就可以看到 JWT Token 了,发给后端使用既可。

1 关注 分享
BoredApe

要回复文章请先登录注册