授权登录插件配置

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

2. QQ:腾讯开放平台

3. 微博:新浪微博开放平台

双击应用的manifest.json文件:
manifest.json使用第三方插件

按照以下方法配置第三方登录模块。

添加第三方登录模块

\n
  • 可视化界面配置

    切换到“模块权限配置”项,在“未选模块”中选择“OAuth(登录鉴权)”添加到“已选模块”:
  • 代码视图配置

    切换到“代码视图”项,在permissions节点下添加如下OAuth节点数据:
\n
        "OAuth": {
"description": "登录授权"
}
\n

配置各授权登录通道

\n
  • 可视化界面配置

    切换到“SDK配置”项,在“plus.oauth-登录鉴权”区域配置需要使用的登录平台及其参数:


    ** 勾选要使用的登录平台并配置正确的参数 **
  • 代码视图配置

    切换到“代码视图”项,在plus -> distribute -> plugins节点下添加如下OAuth节点数据:
\n
                "oauth": {
"weixin": {
"appid": "wx**********",
"appsecret": "*****************",
"description": "微信登录"
},
"qq": {
"appid": "*********",
"description": "QQ登录"
},
"sina": {
"appkey": "**********",
"appsecret": "*****************",
"redirect_uri": "http://*****************",
"description": "新浪微博登录"
}
}
\n

  • 登录平台参数说明
\n

  1. 微信登录

    appid:微信开放平台申请应用的AppID值;
    appSecret:微信开放平台申请应用的AppSecret值。
  2. QQ登录

    appid:腾讯QQ开放平台申请应用的AppID值。
  3. 微博登录

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

配置完成后Ctrl+S保存提交App云端打包生效
Android平台离线打包Oauth模块配置教程
iOS平台离线打包Oauth模块配置教程


5 分享
野蛮人 可可西里 DCloud_客服_Trust huaguojun123@163.com withdisease
jungle1028@qq.com

jungle1028@qq.com 回复 DCloud_App_Array

微信授权分两步吧,第一步只需要appid即可拿到code(5分钟有效),此时app可以将此code提交到自己的服务器;然后通过服务端的程序再去调用微信开放平台接口获取accesstoken及openid,只有这一步才需要appsecret,使用这种方式可以避免在移动端出现appsecret,否则的确有安全隐患
0 赞 2017-05-20 01:03
1691194298@qq.com

1691194298@qq.com

mark
0 赞 2017-05-07 19:22
bubiandeqingtian@163.com

bubiandeqingtian@163.com

微信授权取消有 无法再次拉起授权页面 你们有过吗
0 赞 2017-04-28 16:09
DCloud_App_Array

DCloud_App_Array 回复 zhangma520@21cn.com

临时处理方法:提交Android打包的时候配置Android的appid,提交iOS打包时配置iOS的appid。
0 赞 2016-07-08 18:09
zhangma520@21cn.com

zhangma520@21cn.com

@DCloud_App_Array QQ登录在文档里只是说要到腾讯开放平台获取APPID然后填入配置文件,但是现在腾讯开放平台里分了iOS和安卓应用,两种应用的APPID是不同的,而配置文件里只需要填一个,应该怎么弄啊?
0 赞 2016-07-07 23:50
Element

Element

说错了,请问目前支持支付宝快捷登录了吗????? o(╯□╰)o
0 赞 2016-06-28 10:46
Element

Element

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

HGDQ

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

229637012@qq.com

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

今天吃什么

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

在路上 回复 DCloud_App_Array

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

SHQ

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

DCloud_App_Array 回复 Doveccl

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

DCloud_App_Array 回复 kira

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

Doveccl 回复 DCloud_App_Array

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

Doveccl 回复 DCloud_App_Array

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

kira 回复 DCloud_App_Array

那是不是在在线打包的时候不能用公用证书,必须用自用证书,因为微信开放平台那边是填了包名和应用签名的
0 赞 2015-11-14 03:17
DCloud_App_Array

DCloud_App_Array 回复 码农在奋斗

微信登录配置的参数必须要提交在线打包才能生效(真机调试的时候使用的是HBuilder基座的参数)
0 赞 2015-11-13 14:12
码农在奋斗

码农在奋斗 回复 AC米兰的小铁匠

我也发现了,在真机测试的时候微信返回的Unionid跟我同一个开放平台里面的其他帐号都不一样的。只有在线打包后的apk,才可以获得正确的unionid。官方能来解释下吗???
0 赞 2015-11-12 15:58
AC米兰的小铁匠

AC米兰的小铁匠 回复 DCloud_App_Array

倒不是显示应用的问题,我发现配置的只有微博返回的openID是对的,和之前已有项目中获得的openID一致,QQ和微信返回的和我们之前已有的不一样,显然变成了两个应用。
0 赞 2015-10-29 15:05
DCloud_App_Array

DCloud_App_Array 回复 AC米兰的小铁匠

真机测试也可以登录,只是显示的应用是HBuilder
0 赞 2015-10-28 16:03
AC米兰的小铁匠

AC米兰的小铁匠

不打包就不生效吗,那真机测试多恼火~~
0 赞 2015-10-28 15:52
asdfasdf23r

asdfasdf23r

怎么扩展oauth?例如增加一个人人网登录
0 赞 2015-10-12 15:35
huyong1978

huyong1978

配置文件中写的顺序:

"plugins": {
"oauth": {
"qq": {"appid": "1104222847"},
"sina":{"appkey":"3459130770","appsecret":"9d7e49092a72b863969addb816a1a7ec","redirect_uri":"http://wyzf.com.cn"},
"weixin":{"appid":"wxe73e9694a435ebb3","appsecret":"ff152bf73af6dff7f87ddb96f752eb65"}
},

代码中取值
plus.oauth.getServices(function(services) {
auths = services;
}, function(e) {
alert("获取认证服务列表失败:" + e.message + " - " + e.code);
});

打包后:

auths[0] 取出来是微博,auths[1] 是QQ,auths[2] 是微信 , 微博和微信的位置不正确

测试手机: 红米note ,联想 K860I
0 赞 2015-07-28 15:23
PiscDong

PiscDong 回复 DCloud_App_Array

Feature列表.xls中oauth的权限是MODIFY_AUDIO_SETTINGS,这个不是声音的设置权限吗?
1 赞 2015-07-24 16:03
_AJian_

_AJian_

公众号可以吗?
0 赞 2015-07-01 18:24
lewway

lewway

新浪的也要做下,加油
0 赞 2015-04-27 23:07
DCloud_App_Array

DCloud_App_Array 回复 弄月

参考文章:http://ask.dcloud.net.cn/article/38,根据提示及SDK中的“Feature列表.xls”文档进行配置
0 赞 2015-04-01 15:56
DCloud_App_Array

DCloud_App_Array 回复 弄月

App云端打包是根据配置的数据来动态添加对应的功能模块,所以需要配置多次,而在离线打包的时候配置一次即可。
1 赞 2015-04-01 15:49
弄月

弄月

微信登陆跟微信分享是同一个appid跟appsecret,为什么登陆又要多配一次?
1 赞 2015-04-01 12:35
弄月

弄月

那离线打包的呢?
1 赞 2015-04-01 12:32

要回复文章请先登录注册