DCloud_App_Array
DCloud_App_Array
  • 发布:2015-04-01 12:11
  • 更新:2020-01-06 09:22
  • 阅读:125816

授权登录插件配置

分类:HTML5+

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

  1. 微信:微信开放平台
  2. QQ:腾讯开放平台
  3. 微博:新浪微博开放平台
    配置参数需要提交云端打包后才能生效,如果需要真机运行生效请使用自定义基座

HBuilderX中配置登录鉴权

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

配置使用登录鉴权模块

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

配置登录鉴权参数

  • 微信
    在应用manifest.json文件的“SDK配置”页面,勾选“微信登录”项,并输入从微信开放平台申请的参数:


    appid:微信开放平台申请应用的AppID值;
    appSecret:微信开放平台申请应用的AppSecret值;
    UniversalLinks:iOS平台通用链接,必须与微信开放平台配置的一致,参考iOS平台微信SDK配置通用链接(Universal Links)

  • QQ
    在应用manifest.json文件的“SDK配置”页面,勾选“QQ登录”项,并输入从腾讯QQ开放平台申请的参数:


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

  • 微博
    在应用manifest.json文件的“SDK配置”页面,勾选“新浪微博登录”项,并输入从新浪微博开放平台申请的参数:


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

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

配置参数安全性问题

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

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

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

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

7 关注 分享
野蛮人 可可西里 Trust huaguojun123@163.com withdisease 我们都是倒霉熊 挨踢小子

要回复文章请先登录注册

405782134@qq.com

405782134@qq.com

回复 13341026748@163.com:
调就完事儿了,试一试又不赔本,我就是这么整的
2020-01-06 09:22
13341026748@163.com

13341026748@163.com

回复 405782134@qq.com:
直接调login方法有code?
2020-01-02 18:37
1052036428@qq.com

1052036428@qq.com

请问你们做微信登陆需要填appsecret吗?这样不安全,不填的话plus.oauth.getServices又获取不到列表
2020-01-02 16:40
1052036428@qq.com

1052036428@qq.com

plus.oauth.getServices获取为空数组
2020-01-02 15:49
405782134@qq.com

405782134@qq.com

回复 13341026748@163.com:
我qq直接调login方法,没调authorize
2019-12-31 14:42
13341026748@163.com

13341026748@163.com

回复 DCloud_App_Array:
那QQ登录获取code用那个方法 @DCloud_App_Array
2019-12-18 16:10
13341026748@163.com

13341026748@163.com

回复 18155215951@163.com:
QQ登录你是怎么获取code呢
2019-12-18 15:55
13341026748@163.com

13341026748@163.com

回复 405782134@qq.com:
你的QQ登录可以了吗???
2019-12-18 14:39
UchihaSasuke

UchihaSasuke

h5版本可用试用5+api, 那么登录授权,以及支付都可以用?
基座这里怎么处理?
2019-12-04 14:21
dprenvip@163.com

dprenvip@163.com

回复 dprenvip@163.com:
回调地址怎么填写?我怎么登陆之后,就跳转到浏览器打开了
2019-11-18 11:56