Android支付宝快捷登录
最近接入支付实名认证,需要用到快捷登录。记录踩坑过程。
进入支付宝后台
https://open.alipay.com/platform/home.htm
配置好相应的密钥,这一步跟着支付宝提示操作没什么问题
接入
Android文档下载
https://doc.open.alipay.com/docs/doc.htm?spm=a219a.7629140.0.0.kRfjpz&treeId=193&articleId=104509&docType=1
下载相应的Demo
配置好ID和pkcs8格式的私钥
正常情况都会拿到相应的返回数据
我们需要两个参数
auth_codeuser_id
将这两个参数传给后台,让后台请求支付宝获得数据
我们后台是C++写的,请求可以成功,不过返回的数据有些是乱码,所以我在本地用Java后台模拟请求支付宝的接口,只做简单的调用。
Java文档下载
https://doc.open.alipay.com/docs/doc.htm?spm=a219a.7629140.0.0.2H58uL&treeId=193&articleId=103419&docType=1
本地新建一个Java项目
把jar包引入进来
获取授权令牌文档
https://doc.open.alipay.com/doc2/apiDetail.htm?spm=a219a.7629065.0.0.k4e1Tr&apiId=1025&docType=4
获取用户信息的文档
https://doc.open.alipay.com/doc2/apiDetail.htm?spm=a219a.7629065.0.0.dmVpXA&apiId=876&docType=4
代码如下
public class main { private static final String APP_ID = ""; /** * pkcs8格式的秘钥 */ private static final String APP_PRIVATE_KEY = ""; /** * 支付宝公钥 */ private static final String ALIPAY_PUBLIC_KEY = ""; public static void main(String[] args){ AlipayClient alipayClient = new DefaultAlipayClient("https://openapi.alipay.com/gateway.do",APP_ID,APP_PRIVATE_KEY,"json","UTF-8",ALIPAY_PUBLIC_KEY); AlipaySystemOauthTokenRequest request = new AlipaySystemOauthTokenRequest(); request.setGrantType("authorization_code"); request.setCode("客户端传过来的auth_code"); AlipaySystemOauthTokenResponse response = null; try { response = alipayClient.execute(request); System.out.println(); } catch (AlipayApiException e) { e.printStackTrace(); } AlipayClient alipayShare = new DefaultAlipayClient("https://openapi.alipay.com/gateway.do",APP_ID,APP_PRIVATE_KEY,"json","UTF-8",ALIPAY_PUBLIC_KEY); AlipayUserUserinfoShareRequest alipayShareRequest = new AlipayUserUserinfoShareRequest(); try { alipayShareRequest.setProdCode("WAP_FAST_LOGIN"); AlipayUserUserinfoShareResponse resp = alipayShare.execute(alipayShareRequest,response.getAccessToken()); System.out.println(); } catch (AlipayApiException e) { e.printStackTrace(); } }}
最终返回的数据
这里身份证信息没有拿到,只返回了相关的认证信息
更多相关文章
- 如何在后台运行Linux命令?
- “罗永浩抖音首秀”销售数据的可视化大屏是怎么做出来的呢?
- Nginx系列教程(三)| 一文带你读懂Nginx的负载均衡
- 不吹不黑!GitHub 上帮助人们学习编码的 12 个资源,错过血亏...
- 淘宝(阿里百川)手机客户端开发日记第一篇 android 主框架搭建(二
- Android(安卓)ContentObserver实现数据库监听
- android抓取网络数据包工具
- 实现android按键震动按键声音的机制
- Android之使用HTTP的get,post,HttpClient三种方式向服务器端提交