# 配置身份管理服务
- 为方便开发者更便捷地接入多端身份管理服务,开发者工具支持一键完成接入「多端身份管理服务」需要的配置,具体包含如下。
# 添加小程序授权 Page
- 多端身份管理服务支持在多端应用中使用「小程序登录」,其流程为用户点击小程序登录后,将会跳到该多端应用的模块所绑定的小程序中,获得小程序授权后即可返回多端应用中,且开发者可获得小程序的 jscode 信息
- 因此,需要在小程序中插入「小程序授权 Page」,该 Page 的添加逻辑由 app.json 中的 useAuthorizePage 控制,即
// app.json
{
"miniApp": {
"useAuthorizePage": true // true 表示将授权 Page 插入到小程序中;false 表示不将授权 Page 插入到小程序中
}
}
- 此外,还需在 app.miniapp.json 中配置 identityServiceConfig 信息,如下
// app.miniapp.json
{
"identityServiceConfig": {
"authorizeMiniprogramType": 1, // 可指定跳转小程序版本(0:正式版,1:开发版,2:体验版)
}
}
- authorizeMiniprogramType 控制的是登录时所要唤起的小程序版本(注:测试时建议配置为 1,小程序正式上线后配置为 0)
# 添加小程序登录 Page
- 为进一步降低开发者开发多端应用登录页的成本,开发者工具也提供了一个小程序登录页的模板,便于快速发起测试;开发者可自定义修改该登录页面
- 修改为自定义的小程序登录页面后,需在 identityServiceConfig 修改 miniprogramLoginPath
- 默认情况下,开发者工具配置的 miniprogramLoginPath 为 default ,如开发者需修改该登录 Page,可参考下方进行修改
// app.miniapp.json
{
"identityServiceConfig": {
"miniprogramLoginPath": "/pages/donutLogin/donutLogin" // 该字段将控制调用 wx.getMiniProgramCode 时,如果登录态失效将默认出现的登录页面
}
}
# 将 wx.login 适配为 wx.getMiniProgramCode
- 完成上述操作后,开发者可自行将 wx.login 替换为 wx.getMiniProgramCode,但考虑到这份代码需同时作为小程序的代码,而在小程序中仍需调用 wx.login,开发者需使用条件编译的语法进行兼容
- 为了进一步降低开发者对这里的兼容逻辑处理,app.miniapp.json 新增 adaptWxLogin 参数用于控制在多端应用模式下是否将 wx.login 适配为 wx.getMiniProgramCode
"adaptWxLogin": true
// app.miniapp.json
{
"identityServiceConfig": {
"adaptWxLogin": true
}
}
即,在开发者工具进行一键配置身份登录服务后,app.miniapp.json 和 app.json 新增内容如下:
// app.miniapp.json
{
"identityServiceConfig":
{
"authorizeMiniprogramType": 1, // 指定跳转小程序版本(0:正式版,1:开发版,2:体验版)
"miniprogramLoginPath": "__default__", // 如有自定义需求,可以填写业务选定的 Page 路径
"adaptWxLogin": true
}
}
// app.json
{
"miniApp": {
"useAuthorizePage": true
}
}