DCloud_App_Array
DCloud_App_Array
  • 发布:2015-04-01 12:11
  • 更新:2024-04-17 15:35
  • 阅读:231818

授权登录插件配置

分类:HTML5+

此文档将不再维护,请参考新文档:https://uniapp.dcloud.io/tutorial/app-oauth

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

  1. 微信:微信开放平台
  2. QQ:腾讯开放平台
  3. 微博:新浪微博开放平台
  4. 苹果登录:iOS 苹果授权登录(Sign in with Apple)教程
  5. Google登录:HBuilderX3.2.7+版本支持
  6. Facebook登录:HBuilder3.2.7+版本支持

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

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中可以填入任意值提交云端打包

11 关注 分享
野蛮人 可可西里 Trust h***@163.com Mitrumpet 不务正业程序熊 挨踢小子 来盘芋头丸 2***@qq.com 1***@qq.com 1***@qq.com

要回复文章请先登录注册

Element

Element

请问目前支持支付宝支付了吗?????
2016-06-28 10:45
HGDQ

HGDQ

[《HTML5 WebApp开发(八)微信/QQ/新浪登录》]
http://blog.csdn.net/zhuming3834/article/details/51711492
2016-06-20 21:43
2***@qq.com

2***@qq.com

去掉所有的oauth登录怎么操作?
2016-06-01 15:55
今天吃什么

今天吃什么

第三方登录授权,android版本的可以,ios的不行了,以前ios是可以的,客服说打包后就可以了。望修复,未打包也可以。
2016-03-08 11:28
在路上

在路上

回复 DCloud_App_Array :
使用appsecret确实存在安全隐患,建议提供获取code的方法,由开发者自己通过服务器处理后续操作。并且如果appsecret被重置了,那么整个登陆就废了。
2015-12-15 22:46
SHQ

SHQ

在真机测试一切正常,打成APK,在手机上运行,提示用户取消,错误代码为-2,大家遇到过这种情况吗?如何解决?
2015-12-04 20:57
DCloud_App_Array

DCloud_App_Array (作者)

回复 Doveccl :
微信在调用登录SDK的逻辑中需要使用到appsecret值,所以需要配置好(目前没有发现appsecret存在安全隐患)。
这里提到签名先获取code方案暂时没有验证过,是新版微信SDK提供的功能吗?@DCloud_Android_磊子、@DCloud_iOS_XTY关注。
2015-11-19 11:24
DCloud_App_Array

DCloud_App_Array (作者)

回复 kira :
可以使用公用证书,使用公用证书填写的应用签名值参考:http://ask.dcloud.net.cn/article/68
这里已经公开了公用证书。
2015-11-19 11:17
Doveccl

Doveccl

回复 DCloud_App_Array :
纠正一下刚刚说法的问题,利用appid和签名先获取code,然后再请求自己的服务器获得token,
直接把appsecret写代码里很不安全对吧,有没有一种方法可以先获取code呢?
2015-11-17 15:44
Doveccl

Doveccl

回复 DCloud_App_Array :
只用appid和生成好的keystore文件在android studio下可以直接生成apk并成功授权登陆微信,
为什么这里一定要填写appsecret呢,有没有什么方法可以不填写呢?
2015-11-17 15:25