静默授权与主动授权区别、使用场景以及常见问题。

您所在的位置:网站首页 授权码异常什么意思 静默授权与主动授权区别、使用场景以及常见问题。

静默授权与主动授权区别、使用场景以及常见问题。

2023-11-27 22:07| 来源: 网络整理| 查看: 265

把code码传到前端使用alipay.system.oauth.token(换取授权访问令牌)

AlipaySystemOauthTokenRequest request = new AlipaySystemOauthTokenRequest(); request.setGrantType("authorization_code"); request.setCode("7f7d1f4b47894014b3eb9043c2caUB10"); // request.setRefreshToken("201208134b203fe6c11548bcabd8da5bb087a83b"); AlipaySystemOauthTokenResponse response; try { response = alipayClient.execute(request,null,APPAUTHTOKEN); if(response.isSuccess()){ System.out.println("调用成功" + response.getBody()); } else { System.out.println("调用失败"+ response.getCode()); } } catch (AlipayApiException e) { // TODO Auto-generated catch block e.printStackTrace(); }

返回response值:

{"alipay_system_oauth_token_response":{"access_token":"authbseB77127d297e7a47e7b64060ea38c64X10","alipay_user_id":"20880049095928573054948551013310","expires_in":31536000,"re_expires_in":31536000,"refresh_token":"authbseBbaa44351529c48f9b0a9e585a8668D10","user_id":"2088802394200105"},"sign":"iSFOsNrZGR/3swD0KuJJE2t/t4gWWJxWAN9tHeMyZSugotBMyDLEfmRuF1K4eCmOCbFPAPye/0kGdwJfYCXD7JDH09X4Lku6brhU6yHnY7jouRpnbFltRTcSk2cgMbnHdNp3Xmf6HzaoNeGTM4zvxTZqFcMmjbKAbKxbdUvCjT+U362yjvywGGvrFXxb7i+0NoT8wgJ3UJG/s6yiLLhN6GHeD68k8uA6nqR8xz5xefiZd6156nNtXQaGMpfn7jOvU6hSlQR0kWd9DZNxqHqoTSej9u0/Qeh5uAsIQVqHKcL9Ou5TbyZ10IyEg+R4rlG6dS9r6FFT81tnIQCFEVZl4g=="}

其中令牌值的前缀为authbse

主动授权(获取会员信息为例)

my.getAuthCode({ scopes: 'auth_user', success: ({ authCode }) => { console.log('App Hide: ' + JSON.stringify(authCode)); }, });

把code码传到前端使用alipay.system.oauth.token(换取授权访问令牌)

和静默授权一致。

获取到的返回response值:

{"alipay_system_oauth_token_response":{"access_token":"authusrB3eac6725350f462e9cf1e904d600cC10","alipay_user_id":"20880049095928573054948551013310","expires_in":1296000,"re_expires_in":2592000,"refresh_token":"authusrBcb0cb1a1bdd4483f9fcd431242f8fC10","user_id":"2088802394200105"},"sign":"ZtLQhs2WFN3HFyt76Sv2zPMqN7HF+KsVM1YaV1anh7ziA69e9ibtVf/YCcH+64rG5L5U8NGArxEnLrMXIQmW5ZIlQ/zzzlsSH6IZJy+Z26ABFdcHCn3lkEY3q7KThAFPExZhxtkupV8mUGPaZxrue+LSd5ypWiVYjDGJgPiU8hAYwVTzxGumtdeEpS6gp7JgU3X72LENOuPUfwSJARLzAre9aMSRwxrDfQRdUJgqIueUNXqQnd7Zvd6MHl9Yck64xyyywkqPaZ21+bPgwwXdL7ng8o3WUPUUbNbH8KZMWicUiwRAoYRORT+pn5sYC9cJjPmz2QQlyubjlib8lvMs/Q=="}

其中令牌值的前缀为authusr

然后根据令牌获取用户的信息,调用alipay.user.info.share(支付宝会员授权信息查询接口)

AlipayUserInfoShareRequest request = new AlipayUserInfoShareRequest(); AlipayUserInfoShareResponse response; try { response = alipayClient.execute(request,token); if(response.isSuccess()){ System.out.println("调用成功" + response.getBody()); } else { System.out.println("调用失败"+ response.getBody()); } } catch (AlipayApiException e) { // TODO Auto-generated catch block e.printStackTrace(); }

返回response值:

{ "alipay_user_info_share_response": { "code": "10000", "msg": "Success", "user_id": "2088102104794936", "avatar": "http://tfsimg.alipay.com/images/partner/T1uIxXXbpXXXXXXXX", "province": "安徽省", "city": "安庆", "nick_name": "支付宝小二", "is_student_certified": "T", "user_type": "1", "user_status": "T", "is_certified": "T", "gender": "F" }, "sign": "ERITJKEIJKJHKKKKKKKHJEREEEEEEEEEEE" }

 

 

授权经常遇到的问题

 Q:调用alipay.open.auth.token.app报无效的authcode 

 Q:小程序授权获取到的auth_code有效期是多久

 A:authCode只能使用一次,使用过后就会失效的,一天内不使用的话也会默认过期。

 Q:alipay.system.oauth.token 这个接口报grant_type不能为空

 A;调用这个接口的时候必须传这个grant_type的类型

setGrantType("authorization_code")表示使用授权code码换取令牌

setGrantType("refresh_token")表示使用刷新令牌来刷新所需要使用的令牌

 Q:alipay.system.oauth.token 报无效的appid参数

 A:如果是ISV商户的话,需要在调用接口的时候传入app_auth_token这个应用授权欧安token;如果不是ISV的话,需要检查传的APPID是否是小程序APPID

 Q:无效的应用授权令牌

 A:在调用获取用户信息或者会员卡等接口,获取授权码时scope值没有和产品相对应。可以参考上文中的 静默授权与主动授权scope的区别



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3