# 多端身份管理

为方便开发者在多端应用中快速完成 App 登录对接，平台推出了「多端身份管理服务」，提供微信登录、短信验证码登录、一键本机号码登录以及 Apple 登录等服务，关于多端身份管理服务的介绍可查看[多端身份管理简介](/miniprogram/dev/platform-capabilities/miniapp/intro/auth)。

## 一、开通身份管理服务

创建多端应用后，可进入微信开发者平台的「多端应用」管理控制台，前往「身份管理」模块中进行开通。

![](https://res.wx.qq.com/op_res/QKkyFUByaw2__Forw59yKYWnZ1mif2X0WY6HYrAMjx5SXCBDfh8ztSAI5WHR3EvoJd9WF-h5e375gCxhYCGj3A)

开通后，即可对不同的登录方式进行初始化配置。

![](https://res.wx.qq.com/op_res/QKkyFUByaw2__Forw59yKZfkXCpyIgxC6UtHDiHNXXeG8AelWelOpRHx6O9JZbpEyIAx6mJl7Ef9_N0zEO46aw)

## 二、使用说明

### 2.1 获取多端应用 ID 与密钥

进入微信开发者平台的「多端应用」管理控制台，前往「应用概览」模块中获取应用 ID 与密钥（即应用 Secret）。

![](https://res.wx.qq.com/op_res/QKkyFUByaw2__Forw59yKTke-YtrJTp_8VowCKTZwxCVfeTqjOjrumwoT2fnxa8eR3rarlPXANspwE543t1qMg)

使用该密钥可调用[登录凭证校验](/miniprogram/dev/platform-capabilities/miniapp/openapi/code2Verifyinfo)。

注：该多端应用需已在多端身份管理中完成接入。

### 2.2 验证码短信配置说明

多端身份管理为开发者提供验证码短信发送服务，开发者只需根据业务场景调用手机验证码登录接口即可。

短信模板内容为：

`【短信签名】您的验证码为 {%验证码}，有效期为2分钟，可用于登录{%移动应用名称}`

说明：

1. 使用短信验证码服务前，开发者需先前往多端应用控制台[绑定移动应用](application_create#_3-绑定移动应用账号-可选)。短信模板内容将自动使用该绑定的移动应用名称，开发者可根据上述指引修改移动应用名称。
2. 短信服务当前为免费限量公测，后续正式收费前将会通知。
3. 短信签名默认为开发小程序名称，开发者可前往多端应用控制台的「身份管理-手机登录-管理-短信签名」处修改为移动应用名称。

![](https://res.wx.qq.com/op_res/qu4BW3-JYa-KlWfAdFqtlf9zDiXb-S3xU3h7u2OHJmZ17S194rYoi9OkMnZdZhaiAwSWrkzajLpqvWk1wQnchw)

### 2.3 Apple 登录配置说明

#### 2.3.1 前期准备

接入 Apple 登录，首先需要从苹果开发者网站上获取如下几个信息：

* Team ID：唯一标识苹果开发者的信息
* Bundle ID：唯一标识苹果应用的信息
* Key ID：私钥 ID
* Private Key：私钥

#### 2.3.2 获取 Team ID

使用苹果开发者账号登录前往 Membership 页面，获取 Team ID（需要是认证且付费过的开发者）。

![](https://res.wx.qq.com/op_res/ReLDBB615JweK2uM2d6UDxICPua1Sphm3RiNXerj1E2jDjcz2nB-JY86se486SeTxt6QwBZEHLMiE1s5S1HmlQ)

#### 2.3.3 获取 Bundle ID

使用 Apple 开发者账号登录 [Developer 控制台](https://developer.apple.com/account)，前往「证书、标识符和描述文件」进入「标识符」页面，开始定义 Bundle ID，具体请参考 [iOS 证书申请与配置](/miniprogram/dev/platform-capabilities/miniapp/handbook/certificate/ios)。

#### 2.3.4 获取 Key ID 和 Private Key

前往[苹果开发者页面](https://idmsa.apple.com/IDMSWebAuth/signin?appIdKey=891bd3417a7776362562d2197f89480a8547b108fd934911bcbea0110d07f757&path=%2Faccount%2F&rv=1)，在 Certificates，IDs，& Profiles > Keys Tab 页面，点击图标。

![](https://res.wx.qq.com/op_res/ReLDBB615JweK2uM2d6UD_Tqgqwc3zothyAZv-ybwScVSS-5VV4lEP_MileYCltzQuFv9WdXlrKIg6zcfOfyEQ)

输入名称并勾选上 Sign in with Apple，点击 Configure，确保选中的 Primary App ID 是你刚刚创建的那一个。

![](https://res.wx.qq.com/op_res/ReLDBB615JweK2uM2d6UD1TIbVgoabuHczoihRKo8mxd74-pqm1V32qHhlUHiR98WGgUcjGRNmCbqge1shZV9Q)

点击 Save，Continue，最后点击 Register。

![](https://res.wx.qq.com/op_res/ReLDBB615JweK2uM2d6UDwJTGt8jqjOWfUEOfcBbhxt6CSdMHMDbXfkqREfv4CEN6JLdzCUwYI08RyUya5H_2A)

创建之后，获得 Key ID，然后点击 Download 下载该密钥。

![](https://res.wx.qq.com/op_res/ReLDBB615JweK2uM2d6UD2DRnUr1aix_i-OGjX0pi-5eCYvHg0IkaQll25aFV3L1xlc3obVuzltTBvFbaRq3Gg)

打开下载的密钥，并记录其中的内容，格式为

``` bash
-----BEGIN PRIVATE KEY-----
xxxxxxxxxxx
xxxxxxxxxxx
xxxxxxxxxxx
xxxxxxxxxxx
-----END PRIVATE KEY-----
```

#### 2.3.5 配置身份管理控制台信息
进入微信开发者平台的多端应用控制台，前往「身份管理」模块，选择 Apple 登录-管理。将在「前期准备」中记录的 Bundle ID、Team ID、Key ID 和 Private Key 填入并保存。

![](https://res.wx.qq.com/op_res/QKkyFUByaw2__Forw59yKSdYj6R72y1hxXHo6aNYugmNQmLZRZo03qgW4g5n2nrGMjKHnE1Qv9tWpRURdRwhkQ)

![](https://res.wx.qq.com/op_res/QKkyFUByaw2__Forw59yKVUEfX91vEU5qxO0HWR_wKHWiUwjPFFglcx7_ixNxWkid7l288qn2xR8gWWpFEoPag)

### 2.4 Apple 登录开发指引

完成上述准备工作，并且已经通过开发者工具构建出一个完整的 Xcode 工程，可以开始正式接入 Apple 登录。

#### 2.4.1 使用 WeAppIdaas 拓展模块

> iOS >= 0.9.8 支持

在 iOS 工程下 miniapp.json 内的 `useExtendedSdk` 新增 `WeAppIdaas` 字段并指定 `true`，重新 pod install 即可。

``` json
// miniapp.json
"useExtendedSdk": {
  "WeAppOpenFuns": true,
  "WeAppNetwork": false,
  "WeAppBluetooth": false,
  "WeAppMedia": false,
  "WeAppLBS": false,
  "WeAppLive": false,
  "WeAppOthers": false,
  "WeAppIdaas": true
}
```

#### 2.4.2 在 Xcode 中开启 Apple 登录

如下图所示，在第 4 步中会弹出一个选项框，搜索 sign in with Apple，点击即可开启 Apple 登录，添加完后出现第 5 步的配置，即配置完成。

![](https://res.wx.qq.com/op_res/4Fg6UyqWfxbyjERTPSS54QYfikphLeNndN-P48rV8ydda2V4JH-l3WDH5wpj66LHDZ1InwL7qnPDD7MPOQ2QUw)
