第三方登录之支付宝PC网页内获取用户信息

PC 网页内获取用户信息

业务流程图

第一步:URL 拼接

后端可以直接重定向到二维码页面return "redirect:" + showQrCode;

URL 拼接规则:https://openauth.alipay.com/oauth2/publicAppAuthorize.htm?app_id=APPID&scope=SCOPE&redirect_uri=ENCODED_URL

注意:

  1. redirect_uri必须是经过转义后的链接

    redirectUrl = URLEncoder.encode(redirectUrl, "UTF-8");
    
  2. 要设置state参数

    商户自定义参数,用户授权后,重定向到 redirect_uri 时会原样回传给商户。 为防止 CSRF 攻击,建议开发者请求授权时传入 state 参数,该参数要做到既不可预测,又可以证明客户端和当前第三方网站的登录认证状态存在关联,并且不能有中文。

    如果是单体服务,可以放在session域中,如果是分布式,可以放在redis缓存中

第二步:获取 auth_code

auth_code是用户授权的凭证,每次授权动作都会生成一个新的 auth_code

第三步:换取 access_token 和 userId

根据auth_code、appId、appPrivateKey获取用户换取 access_token 和 userId

第四步:获取用户详细信息

根据access_token 获取用户详细信息

posted @ 2022-04-19 22:31  永无八哥  阅读(1120)  评论(0编辑  收藏  举报