微信登录网页授权流程
1、流程
以下流程为微信官方提供的请求流程,现实中可使用第三方sdk:
https://github.com/Wechat-Group/WxJava/wiki/MP_OAuth2网页授权
首先微信客户端请求应用某地址
应用服务器拼接授权地址,并重定向用户请求到该授权地址。
授权地址包含:
appid
:公众号ID- ``redirect_url`: 服务器希望用户最终登陆上来的页面地址
- Scope: 应用授权作用域,snsapi_base (不弹出授权页面,直接跳转,只能获取用户openid),snsapi_userinfo (弹出授权页面,可通过openid拿到昵称、性别、所在地。并且, 即使在未关注的情况下,只要用户授权,也能获取其信息 )
微信官方将用户的请求重定向到``redirect_url`,并携带code字段。
服务器根据code字段再拼接请求地址,去向微信官方获取accesstoken和openid。
注意:一共有两次地址的拼接。
2、springboot整合第三方sdk
整体流程
- 访问"/authorize"(带上目标网址tartgetUrl);
- 21行基于20行的url建立请求重定向路径,生成21行入参code, state;
- 请求由"/authorize"重定向到了"/userInfo";
- "/userInfo"使用入参code获取openid,并使用state重定向到tartgetUrl。
/*