Java+H5 获取支付宝userId

官方文档(https://opendocs.alipay.com/open/220/105337)

开发准备

1.一个生活号
2.一个域名

步骤

第一步:支付宝开放平台配置
获取会员信息接口

在这里插入图片描述

配置开发信息(接口加签方式,授权回调地址)

在这里插入图片描述

第二步:用户授权,获取auth_code

引导用户跳转至该链接:

https://openauth.alipay.com/oauth2/publicAppAuthorize.htm?app_id=APPID&scope=SCOPE&redirect_uri=ENCODED_URL

url参数说明

参数名 是否必须 描述
app_id 开发者应用的app_id
scope 接口权限值,目前只支持auth_userinfo和auth_base两个值
redirect_uri 回调页面,是 经过转义 的url链接(url必须以http或者https开头),比如:http%3A%2F%2Fexample.com 在请求之前,开发者需要先到开发者中心对应应用内,配置授权回调地址。
state 商户自定义参数,用户授权后,重定向到redirect_uri时会原样回传给商户。 为防止CSRF攻击,建议开发者请求授权时传入state参数,该参数要做到既不可预测,又可以证明客户端和当前第三方网站的登录认证状态存在关联。

当用户授权成功后,会跳转至开发者定义的回调页面,支付宝会在回调页面请求中加入参数,包括 auth_code、app_id、scope等,需要注意的是支付宝仅保证 auth_code、app_id 以及 scope 参数的有效性。

第三步:使用 auth_code 换取用户 userId

接口名称:alipay.system.oauth.token

参数 参数名称 类型(长度范围) 参数说明 是否可为空 样例
grant_type 授权类型 String 值为authorization_code时,代表用code换取;值为refresh_token时,代表用refresh_token换取 不可空 authorization_code
code 授权码 String 用户对应用授权后得到,即第二步中开发者获取到的auth_code值 与refresh_token二选一 4b203fe6c11548bcabd8da5bb087a83b
refresh_token 刷新令牌 String 刷新access_token时使用 与code二选一 201208134b203fe6c11548bcabd8da5bb087a83b

同步响应结果示例

{
   
    "alipay_system_oauth_token_response": {
   
        "access_token": "publicpBa869cad0990e4e17a57ecf7c5469a4b2",
        "user_id": "2088411964574197",
        "alipay_user_id": "20881007434917916336963360919773",
        "expires_in": 300,
        "re_expires_in": 300,
        "refresh_token": "publicpB0ff17e364f0743c79b0b0d7f55e20bfc"
    },
    "sign": "xDffQVBBelDiY/FdJi4/a2iQV1I7TgKDFf/9BUCe6+l1UB55YDOdlCAir8CGlTfa0zLYdX0UaYAa43zY2jLhCTDG+d6EjhCBWsNY74yTdiM95kTNsREgAt4PkOkpsbyZVXdLIShxLFAqI49GIv82J3YtzBcVDDdDeqFcUhfasII="
}

参数 参数名称 类型(长度范围) 参数说明 是否可为空 样例
access_token 交换令牌 String 用于获取用户信息 不可空 publicpBa869cad0990e4e17a57ecf7c5469a4b2
user_id 用户的userId String 支付宝用户的唯一userId 不可空
  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值