# 小程序登录服务配置

为方便开发者更便捷地接入[小程序登录服务](/miniprogram/dev/platform-capabilities/miniapp/quickstart/auth)服务，开发者工具支持一键完成接入「多端身份管理服务」需要的配置，具体包含如下。

## 一、小程序登录服务相关的配置说明

### 1.1 app.miniapp.json

```json
[
  {
    "identityServiceConfig": "authorizeMiniprogramType",
    "类型": "0 | 1 | 2",
    "描述": "用于指定 [wx.weixinMiniProgramLogin](/miniprogram/dev/platform-capabilities/miniapp/api/auth/wx.weixinMiniProgramLogin) 跳转的小程序版本",
    "说明": "0：正式版，1：开发版，2：体验版"
  },
  {
    "identityServiceConfig": "miniprogramLoginPath",
    "类型": "String",
    "描述": "控制调用 [wx.getMiniProgramCode](/miniprogram/dev/platform-capabilities/miniapp/api/auth/wx.getMiniProgramCode) 时，如果系统登录态失效将默认出现的登录页面",
    "说明": "__default__ 仅支持在真机环境下调试，工具上调试可自行创建「多端登录 Page」"
  },
  {
    "identityServiceConfig": "adaptWxLogin",
    "类型": "Boolean",
    "描述": "指定为 true 时，开发者不需要修改项目代码，即可自动将 wx.login 的逻辑适配为 wx.getMiniProgramCode",
    "说明": ""
  }
]
```

![](https://testchu-7gy8occc8dcc14c3-1304825656.tcloudbaseapp.com/img%2Fmelody%2F202406102235498.png)

### 1.2 app.json

```json
[
  {
    "miniApp": "useAuthorizePage",
    "类型": "Boolean",
    "描述": "用于 [wx.weixinMiniProgramLogin](/miniprogram/dev/platform-capabilities/miniapp/api/auth/wx.weixinMiniProgramLogin) 在小程序中插入「小程序授权 Page」",
    "说明": ""
  }
]
```

## 二、JSAPI 相关配置

### 2.1 wx.weixinMiniProgramLogin

- 该接口需添加小程序授权 Page

### 2.2 wx.getMiniProgramCode

- 该接口需添加小程序授权 Page
- 以及添加多端登录 Page

### 2.3 快速适配 wx.login

- 需添加小程序授权 Page
- 以及添加多端登录 Page
- 并且需要将 wx.login 适配为 wx.getMiniProgramCode

## 三、配置操作

### 添加小程序授权 Page

多端身份管理服务支持在多端应用中使用「多端登录」，其流程为用户点击多端登录后，将会跳到该多端应用的模块所绑定的小程序中，获得小程序授权后即可返回多端应用中，且开发者可获得小程序的 jscode 信息。因此，需要进行以下配置：

1. 在小程序中插入「小程序授权 Page」，该 Page 的添加逻辑由 app.json 中的 useAuthorizePage 控制，即：

```json
// app.json
{
    "miniApp": {
        "useAuthorizePage": true // true 表示将授权 Page 插入到小程序中；false 表示不将授权 Page 插入到小程序中
    }
}
```

2. 此外，还需在 app.miniapp.json 中配置 identityServiceConfig 信息。authorizeMiniprogramType 控制的是登录时所要唤起的小程序版本（注意：测试时建议配置为 1，小程序正式上线后配置为 0）。即：

```json
// app.miniapp.json
{
    "identityServiceConfig": {
        "authorizeMiniprogramType": 1, // 可指定跳转小程序版本（0：正式版，1：开发版，2：体验版）
    }
}
```

### 添加多端登录 Page
「多端登录 Page」控制调用 [wx.getMiniProgramCode](/miniprogram/dev/platform-capabilities/miniapp/api/auth/wx.getMiniProgramCode) 时，如果系统登录态失效将默认出现的登录页面。

- 默认情况下，为满足开发者快速开始调试，开发者可以将 miniprogramLoginPath 配置为 `__default__`。在构建 App 时会插入一个默认的「多端登录 Page」用于完成 wx.getMiniProgramCode 的调用

注意：`__default__` 仅支持在真机环境下调试，工具上调试可自行创建「多端登录 Page」

```json
// app.miniapp.json
{
    "identityServiceConfig": {
        "miniprogramLoginPath": "__default__"  // 该字段将控制调用 wx.getMiniProgramCode 时，如果登录态失效将默认出现的登录页面
    }
}
```

默认的「多端登录 Page」：

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

- 为进一步降低开发者开发多端应用登录页的成本，开发者工具也提供了一个多端登录页的模板，开发者可基于模板自定义修改该登录页面。具体操作：「微信开发者工具」-> 「资源管理器」-> 「选择文件夹并点击右键」-> 「新建多端登录 Page」

  ![](https://res.wx.qq.com/op_res/KxMOcVeknk6KQbrirHeSgNLeiz_2VTr89yGPNxTg2z73HO-M4SsQtpdNDms_WL7_Jgj5Oydx_n_NGLhfizdfxw
)

### 将 wx.login 适配为 wx.getMiniProgramCode

- 开发者可自行将 wx.login 替换为 wx.getMiniProgramCode，但考虑到这份代码需同时作为小程序的代码，而在小程序中仍需调用 wx.login，开发者需使用条件编译的语法进行兼容

- 为了进一步降低开发者对这里的兼容逻辑处理，app.miniapp.json 新增 `adaptWxLogin` 参数用于控制在多端应用模式下是否将 wx.login 适配为 wx.getMiniProgramCode。即：

```json
// app.miniapp.json
{
    "identityServiceConfig": {
        "adaptWxLogin": true 
    }
}
```

## 四、一键配置小程序登录服务

开发者可按照上述指引一步一步配置，亦可借助开发者提供的「小程序登录服务配置」功能一键完成相关配置。

### 4.1 下载微信开发者工具

- 下载最新版[微信开发者工具（开发版 Nightly Build）](/miniprogram/dev/devtools/log.md)，版本号需大于等于 `1.06.2405312`

### 4.2 进入多端应用模式并配置小程序登录服务

- 将原本的小程序项目升级为多端项目，并且切换到多端应用模式下
- 前往「菜单栏 - 工具 - 配置小程序登录服务」

![](https://testchu-7gy8occc8dcc14c3-1304825656.tcloudbaseapp.com/img%2Fmelody%2F202406102121758.png)

- 点击「确定」即可一键完成小程序登录服务配置

![](https://testchu-7gy8occc8dcc14c3-1304825656.tcloudbaseapp.com/img%2Fmelody%2F202406102123042.png)

- 稍等片刻即可配置成功

![](https://testchu-7gy8occc8dcc14c3-1304825656.tcloudbaseapp.com/img%2Fmelody%2F202406102126699.png)

### 4.3 特别注意事项

- 相关的配置开发者工具已帮助开发者完成，但是要生效的话，开发者不仅需要在多端应用模式下重新构建 App，也需要切回小程序模式，然后重新构建小程序新的版本才会生效！！！
- 默认的配置中，为开发者配置的小程序登录是跳「开发版」小程序进行登录，因此开发者需切回小程序模式，然后重新「预览」，然后使用微信扫码，确保你的手机上已有最新版的包含了「小程序授权页」的「开发版小程序」

![](https://testchu-7gy8occc8dcc14c3-1304825656.tcloudbaseapp.com/img%2Fmelody%2F202406102143567.png)
