本帖最后由 ZeroTheLost 于 2018-12-7 11:09 编辑
前言:之前之前的方式并不是最好的,像 https://bbs.quickapp.cn/forum.php?mod=viewthread&tid=817 这个帖子的用法随时可能失效,所以更新了一个版本
有不少开发者反馈不知道怎么用三方分享/登录的接口, 先在这个发个贴解决一下问题,后续应该会有专人更新文档。本帖以微信开放平台为例子,其他平台是大同小异的。
开始之前,需要大家安装两个命令行工具,一个是 openssl(mac和linux平台理论上已经自带了,windows的同学需要自己谷歌/百度 去下载),另外一个是JDK自带的keytools工具,也需要每个同学自行去下载安装。
目前有两种情形, 每个情形下的处理方式如下所述
1. 只有快应用的openssl 证书,没有APP的证书。此时需要把openssl 生成微信开放平台所需的MD5 签名, 步骤如下:
0)注册微信开放平台账号,新建移动应用,并且通过微信认证。(详情请看微信开放平台文档)如果没有证书,可以通过快应用开发工具生成证书,如下图;文档请见 https://www.quickapp.cn/docCenter/post/95
快应用开发工具上的证书生成
1)进入快应用程序的sign/release,并输入以下命令- openssl x509 -noout -fingerprint -md5 -inform pem -in certificate.pem
复制代码
会得出类似下面的结果:MD5 Fingerprint=89:46:3A:61:77:E4:66:75:B5:A7:5B:4E:36:E8:62:FA 然后只需要把=号后面的字符串取出来,并且把:号去掉,得出如下字符串 FCEE9EA7F8B8684BBB75EC3DFAB994F8 这个就是微信所需要的签名 2)在微信开放平台下把签名和包名填写上,如下图
3) 只需要在manifest文件里面把微信的appid参数填上
4) 根据文档使用微信登录接口,https://doc.quickapp.cn/features/service/wxaccount.html
5)如果开发的时候也要调试微信登录接口,请把sign/release的证书贴到sign/dev下
2. 已经有APP在使用微信开放平台的登录接口了,此时需要把安卓同学的keystore证书和密码得到,并将其转换成openssl的证书。具体过程如下:
1)将快应用的包名(在manifest中)填写成微信开放平台上所写的包名
2)向安卓的同学要到微信开放平台上签名对应的keystore证书,我们暂且记为test.keystore,和密码,暂且记为123456。我们可以用以下命令,通过keystore证书生成生成pkcs12格式的密钥文件
- keytool -importkeystore -srckeystore test.keystore -destkeystore test.p12 -deststoretype PKCS12
复制代码(注:此过程中需要输入密码:123456) 2)通过pksc12文件生成pem签名 - openssl pkcs12 -in test.p12 -nokeys -out certificate.pem
复制代码(注:此过程中需要输入密码:123456) 3)生成pem私钥 - openssl pkcs12 -in test.p12 -nocerts -nodes -out private.pem
复制代码(注:此过程中需要输入密码:123456) 4)把上面两步生成的private.pem和certificate.pem放到sign/release目录下 5)在manifest文件里面把微信的appid参数填上 7)如果开发的时候也要调试微信登录接口,请把sign/release的证书贴到sign/dev下
|