DCloud_App_Array
DCloud_App_Array
  • 发布:2015-04-01 12:11
  • 更新:2021-05-11 15:32
  • 阅读:167522

授权登录插件配置

分类:HTML5+

云端打包登录鉴权功能需要到第三方开发平台申请应用后获取相关配置参数,目前支持的平台包括:

  1. 微信:微信开放平台
  2. QQ:腾讯开放平台
  3. 微博:新浪微博开放平台
  4. 苹果登录:iOS 苹果授权登录(Sign in with Apple)教程

配置参数需要提交云端打包后才能生效,如果需要真机运行生效请使用自定义基座

HBuilderX中配置登录鉴权

从微信/QQ/微博开放平台申请获取配置参数后,需在HBuilderX中配置并提交云端打包才能生效。
老版本HBuilder配置界面有差异,逻辑是一样的,建议更新使用HBuilderX

配置使用登录鉴权模块

打开应用的manifest.json文件,在“App模块配置”项中勾选“OAuth(登录鉴权)”:

配置登录鉴权参数

微信

在manifest.json文件“App模块配置”项的“OAuth(登录鉴权)”下,勾选“微信登录”项,并输入从微信开放平台申请的参数:

QQ

在manifest.json文件“App模块配置”项的“OAuth(登录鉴权)”下,勾选“QQ登录”项,并输入从腾讯QQ开放平台申请的参数:

  • appid:腾讯QQ开放平台申请应用的AppID值。

微博

在manifest.json文件“App模块配置”项的“OAuth(登录鉴权)”下,勾选“新浪微博登录”项,并输入从新浪微博开放平台申请的参数:

  • appkey: "新浪微博平台应用appkey";
  • appsecret: "新浪微博平台应用appsecret";
  • redirect_uri: "新浪微博平台应用授权回调页地址"。

配置完成后Ctrl+S保存提交App云端打包生效。

配置参数安全性问题

在HBuilder|HBuilderX中配置的参数云端打包后会保存在apk/ipa中,对于安全性要求高的开发者可能担心存在参数泄露的风险,可以采取以下方式处理。

  • JS代码中动态传参数
    如登录服务AuthService的请求授权认证方法authorize,可以通过第三个参数options动态传入appid、appSecret等。
    这些参数可以加密保存到js代码中或连网从服务器获取(避免保存在本地引起泄露风险,当然需要考虑网络传输过程的安全问题)。

  • 通过服务器完成授权认证
    根据OAuth规范,实际客户端授权只是为了获取授权临时票据(code),这时候可以仅在客户端配置appid参数调用登录服务AuthService的请求授权认证方法authorize获取临时票据,将票据提交到服务器完成后续的操作。
    这种情况授权的参数(如appsecret)仅保存服务器即可,安全性更高。
    在服务器的对接流程需要根据各开放平台的规范要求进行处理,如微信参考:授权后接口调用

这时在HBuilder|HBuilderX中可以填入任意值提交云端打包

10 关注 分享
野蛮人 可可西里 Trust huaguojun123@163.com Mitrumpet 我们都是倒霉熊 挨踢小子 来盘芋头丸 2778951476@qq.com 1367462813@qq.com

要回复文章请先登录注册

有问

有问

回复 x1234543@163.com :
没办法我又把appsecret填上重新打包了就好了。
2021-05-11 15:32
x1234543@163.com

x1234543@163.com

回复 有问 :
一样,请问找到问题了吗
2021-05-11 13:49
有问

有问

刚更新完了,点击登陆调不起微信。。。之前可以的。什么情况。更新了什么API吗?
2021-05-11 11:29
木盒关系户

木盒关系户

啥时候能把支付宝登录也加进来啊,别推荐插件市场里的那几个付费插件了
2021-04-08 17:42
line

line

回复 2495041749@qq.com :
我的也一样。空着都可以登陆成功
2021-03-26 17:26
510865496@qq.com

510865496@qq.com

微信的我都配置了,为什么还出现业务参数缺失
2021-03-18 14:12
2495041749@qq.com

2495041749@qq.com

为啥我微信授权登录 填写上appid 跟 不填写appid获取是一样的 不是根据我的appid给我获取的
2021-02-04 11:01
1654688410@qq.com

1654688410@qq.com

回复 mr_jhc@foxmail.com :
写的流程跟你的差不多,是这样子调
2021-01-12 11:37
mr_jhc@foxmail.com

mr_jhc@foxmail.com

回复 1654688410@qq.com :
有示例,https://juejin.cn/post/6909701740111609869
2021-01-12 10:47
mr_jhc@foxmail.com

mr_jhc@foxmail.com

回复 318771562@qq.com :
你理解错了,plus都是调用原生的
2021-01-12 10:47