对OAuth2认证的小结【Android】
16lz
2021-01-26
以新浪为例:
第一步、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等数据,获取到相应的数据
更多相关文章
- Android(安卓)通过高德地图获取地址的经纬度
- 安卓向SD卡存储数据时java.io.FileNotFoundException:(Permissio
- android 获取字符串在屏幕中所占像素宽度和高度
- Android(安卓)控件之GridView
- Android获取控件的大小
- Android中相机拍照并获取路径
- Android本地视频播放器开发--搜索本地视频(1)
- Android(安卓)学习记录-获取天气API
- 让Android应用程序申请获取ROOT权限