# 小程序登录服务配置

为方便开发者更便捷地接入小程序登录服务服务,开发者工具支持一键完成接入「多端身份管理服务」需要的配置,具体包含如下。

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

# 1.1 app.miniapp.json

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

# 1.2 app.json

miniApp 类型 描述 说明
useAuthorizePage Boolean 用于 wx.weixinMiniProgramLogin 在小程序中插入「小程序授权 Page」

# 二、JSAPI 相关配置

# 2.1 wx.weixinMiniProgramLogin

# 2.2 wx.getMiniProgramCode

# 2.3 快速适配 wx.login

# 三、配置操作

# 添加小程序授权 Page

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

  1. 在小程序中插入「小程序授权 Page」,该 Page 的添加逻辑由 app.json 中的 useAuthorizePage 控制,即:
// app.json
{
    "miniApp": {
        "useAuthorizePage": true // true 表示将授权 Page 插入到小程序中;false 表示不将授权 Page 插入到小程序中
    }
}
  1. 此外,还需在 app.miniapp.json 中配置 identityServiceConfig 信息。authorizeMiniprogramType 控制的是登录时所要唤起的小程序版本(注:测试时建议配置为 1,小程序正式上线后配置为 0)。即:
// app.miniapp.json
{
    "identityServiceConfig": {
        "authorizeMiniprogramType": 1, // 可指定跳转小程序版本(0:正式版,1:开发版,2:体验版)
    }
}

# 添加多端登录 Page

「多端登录 Page」控制调用 wx.getMiniProgramCode 时,如果系统登录态失效将默认出现的登录页面。

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

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

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

默认的 「多端登录 Page」:

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

# 将 wx.login 适配为 wx.getMiniProgramCode

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

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

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

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

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

# 4.1 下载微信开发者工具

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

  • 将原本的小程序项目升级为多端项目,并且切换到多端应用模式下
  • 前往「菜单栏 - 工具 - 配置小程序登录服务」
  • 点击「确定」即可一键完成小程序登录服务配置
  • 稍等片刻即可配置成功

# 4.3 特别注意事项

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