OAuth2认证有一定的了解

时间:2022-12-19 21:29:27

转到分享界面后,进行OAuth2认证:

以新浪为例:

第一步、WebView加载界面,传递参数

使用WebView加载登陆网页,通过Get方法传递三个参数:应用的appkey、回调地址和展示方式display(如手机设备为mobile);

如:https://auth.sina.com.cn/oauth2/authorize?client_id=1750636396&redirect_uri=http://vdisk.weibo.com/&display=mobile

第二步、回调地址获取code

       当点击登陆(或授权)的时候,会将自定义的回调地址发送到相应的服务器端,这个回调地址只是为了从相应的服务器端(如新浪)获取到一个code;可以在WebViewClient的shouldOverrideUrlLoading方法中捕获到,然后获取到这个跳转的URL后,截取其中的code,如:http://vdisk.weibo.com/?code=3ea97ac6d5c1016a70d1c16e98b6f9ca

第三步、获取token

       通过这个code到相应的服务器获取到token【当然不仅仅是获取到token这个认证令牌,还有令牌有效期、uid,如果有权限的话,有的还会返回刷新令牌的token】,这些数据需要加密后保存在本地。

然后下次再登陆的时候,就可以直接登陆,然后通过发送给服务器端token等数据,获取到相应的数据