java获取芝麻信用授权_支付宝授权获取芝麻信用分数

本文详细记录了使用Java通过支付宝SDK获取芝麻信用分数的过程,包括解决官方Demo的问题、授权代码传递及服务器配置。重点介绍了如何处理授权过程中的签名错误和授权范围设置,以及安全考虑。
摘要由CSDN通过智能技术生成

貌似好久没写文章了,今天来记录下最近用支付宝SDK获取芝麻信用分数的过程,以及踩过的坑。

个人感觉接芝麻信用分数时还是很简单的,基本都是服务端的任务,我们这边只需要将从支付宝授权获取的auth_code传给服务端,剩下的就是服务器的事了。但是还是有些小坑需要记录。

如果以后需要做支付宝登陆的,可以看这里,还是很详细的

Android 集成支付宝第三方登录

其实看官方的Demo也是很好的

踩坑一

当我把官方Demo下下来,配好APPID,PID,RSA2_PRIVATE之后,直接运行Demo直接蹦了,我就懵了,官方Demo居然会有问题,好吧,通过调试,定位是空指针

String oriSign = SignUtils.sign(authInfo.toString(), rsaKey, rsa2);

这里返回了null,无语了,通过网上查找问题,需要对其中封装好的方法修改

public static String sign(String content, String privateKey, boolean rsa2) {

try {

PKCS8EncodedKeySpec priPKCS8 = new PKCS8EncodedKeySpec(

Base64.decode(privateKey));

//后面需要下个"BC"参数

KeyFactory keyf = KeyFactory.getInstance(ALGORITHM, "BC");

PrivateKey priKey = keyf.generatePrivate(priPKCS8);

java.security.Signature signature = java.security.Signature

.getInstance(getAlgorithms(rsa2));

signature.initSign(priKey);

signature.update(content.getBytes(DEFAULT_CHARSET));

byte[] signed = signature.sign();

return Base64.encode(signed);

} catch (Exception e) {

e.printStackTrace();

}

return null;

}

修改之后就不会返回null。

然后就可以通过将签名之后的参数传给AuthTask的authV2授权,授权成功之后就可以获取auth_code,然后传给服务器。

踩坑二

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值