APP第三方登录QQ和微博配置

需求

使用hbuilder修改东北高师就业联盟网的app,完成了qq和微博第三方登录,真机调试正常。但是打包发布后,问题来了。使用qq登录时,会提示错误“该应用非官方正版应用,请去应用宝下载正版后进行qq登陆。(错误码:100044)”。使用微博登录时,会提示错误“21338:sso package or sign error”。

因为就业联盟网在开放平台上是一个web应用,但是我们的app打包后是一个android应用和一个ios应用。所以,要解决这个问题,我们要在开放平台上添加android应用和ios应用。

android打包签名

在配置开放平台之前,我们先把android app打包发布,具体流程如下:

安装java环境

参考《全平台安装JDK》

生成keystore

keytool -genkey -alias dsjyw.keystore -keyalg RSA -validity 1000 -keystore dsjyw.keystore

说明:keytool -genkey -alias 别名.keystore -keyalg RSA -validity 有效期限(天数) -keystore 别名.keystore

dsjyw.store参数

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
输入密钥库口令: voidking
再次输入新口令: voidking
您的名字与姓氏是什么?
[Unknown]: VoidKing
您的组织单位名称是什么?
[Unknown]: Nenu
您的组织名称是什么?
[Unknown]: Nenu
您所在的城市或区域名称是什么?
[Unknown]: ChangChun
您所在的省/市/自治区名称是什么?
[Unknown]: JiLin
该单位的双字母国家/地区代码是什么?
[Unknown]: CN
CN=VoidKing, OU=Nenu, O=Nenu, L=ChangChun, ST=JiLin, C=CN是否正确?
[否]: y

输入 <dsjyw.keystore> 的密钥口令
(如果和密钥库口令相同, 按回车):

打包

1、打开Hbuilder,发行,发行为原生安装包。

2、使用自有证书;Android包名是自动生成的,不需要修改,也可以修改为自己喜欢的包名;证书别名和私钥密码是生成keystore时配置的;证书文件选择生成的keystore文件。

3、打包,之后会自动上传源码,打包好后下载到app存放目录中。

签名

1、复制打包下载好的apk文件到dsjyw.keystore相同的目录,重命名apk文件为android-release-unsigned.apk。

2、打开cmd,执行签名命令
jarsigner -verbose -keystore dsjyw.keystore -signedjar dsjyw.apk android-release-unsigned.apk dsjyw.keystore

说明:jarsigner -verbose -keystore 别名.keystore(密钥库位置) -signedjar 签名后产生的文件.apk
要签名的文件.apk 别名.keystore(密钥库)

查看签名

keytool -v -list -keystore dsjyw.keystore

找到MD5: 70:1D:81:1E:D3:A6:8B:28:66:82:BA:D8:EB:79:DC:63

新浪创建移动应用时要求的是32位数字小写字母,把前面的这串数字中的冒号去掉,字母小写即可。

腾讯开放平台

创建安卓应用

1、登录腾讯开放平台

2、安卓应用,创建应用。

3、关联QQ互联,输入联盟网web应用的appid和appkey,确定。之所以关联QQ互联,是为了统一appid,否则,web登录和app登录获得的是不同的openid。

如果关联QQ互联后,创建应用失败,提示“对不起,您不是应用的创建者或协作者(1500401)”。

可能一:
不是协作者。请先使用联盟网web应用所在账号登录,在管理中心页面,滑动鼠标到右上角用户名,单击权限权限管理,添加协作者。

可能二:
账号冲突。之前的web应用在QQ互联上,此时,不要在浏览器中同时打开腾讯开放平台和QQ互联,也不要登录其他的QQ邮箱,有可能账号冲突。

可能三:
开发者资料未提交审核。

4、选择移动应用 安卓,创建应用,选择应用类型,确定。此时创建的安卓应用,它的appid和appkey就和联盟网web应用相同了。

5、按照提示,填写需要的字段即可。需要注意的是,上传安装包时,需要上传签名后的apk文件。

6、填写好信息,保存即可,不需要提交审核。如果需要提交审核的话,请先根据提示加固应用。

创建ios应用

1、在安卓应用中,可以看到我们创建的联盟网app,单击它。

2、鼠标滑到右上角平台信息,单击IOS应用,即可创建IOS应用。该IOS应用的appid和appkey就和联盟网web应用相同,也和安卓应用相同。

警告,创建ios应用后,此时安卓应用和ios应用实际上是同一个应用。删除任意一个,两个应用就都没有了。

3、按照提示填写各字段即可。其中比较难的是URL scheme、AppStore ID和Bundle ID,这些信息可以到Apple Developeritunes connect上查看到。

新浪开放平台

1、登录新浪开放平台

2、微连接,移动应用,立即接入。勾选Iphone和Android两个平台,创建。

3、填写应用基本信息。其中比较难的是Android签名,不必使用新浪提供的签名工具,参考本文中的“查看签名”小节,填入得到的32位字符串。

4、保存信息,提交审核。审核不通过会有详细提示,参考提示修改后再次提交审核。

5、单击左侧导航栏应用信息,高级信息。OAuth2.0 授权设置中点击编辑,授权回调页和取消授权回调页都填入https://api.weibo.com/oauth2/default.html

书签

HBuilder 打包流程

腾讯开放平台创建应用的坑,安卓和iOS端如何共用同一个Appid?

0%