android面试题-Oauth的实现原理

作者: 小怪兽打葫芦娃 | 来源:发表于2017-04-20 23:37 被阅读2604次

Android程序员面试宝典

自定义控件

联网

工具

数据库

源码分析相关面试题

Activity相关面试题

Service相关面试题

与XMPP相关面试题

与性能优化相关面试题

与登录相关面试题

与开发相关面试题

与人事相关面试题

本文配套视频

腾讯QQ第三方登录的实现原理?

Oauth当中的角色:

1.Service Provider(服务提供方):
服务提供方通常是网站,在这些网站当中存储着一些受限制的资源,如照片、视频、联系人列表等。这些网站通常使用用户名和密码来确认用户的身份。比如新浪微博的开放平台就是Service Provider。

2.User(用户):
存放在服务提供方的受保护的资源的所有者。用户持有可以登录服务提供者网站的用户名和密码。用户不希望把自己的资源公开,但是用户却需要将这些资源共享给其他网站或应用程序(如用户希望使用第三方开发的新浪微博客户端来访问自己的资源,但又不希望第三方应用知道自己的用户名和密码)。

3.客户端(Client):
要访问服务提供方资源的第三方应用,可以是web应用程序、桌面应用程序或者是手机应用程序。客户端需要得到授权之后才能访问相应的资源。

Oauth的认证和授权过程:

1.用户使用第三方的客户端(如访问第三方的网站,或使用第三方的应用),想对存放在服务提供者的某些资源进行操作。

2.第三方网站或应用向服务提供方请求一个临时令牌(Request Token)。

3.服务提供方验证第三方的身份后,授予其一个临时令牌。

4.第三方获得临时令牌后,将用户引导至服务提供方的授权页面请求用户授权。在这个过程中将临时令牌和客户端的回调连接发送给服务提供者。

5.用户在服务提供者的授权页面上输入自己的用户名和密码,然后授权该客户端访问相应的资源。

6.授权成功后,服务提供方引导用户返回第三方网站的的网页。

7.客户端根据临时令牌从服务提供方那里获取访问令牌(Access Token)。

8.服务提供方根据临时令牌和用户的授权情况授予客户端访问令牌。

9.客户端使用获取的访问令牌访问存放在服务提供方上的相应的资源。

Oauth简单示意图

Oauth全面的示意图

  • 欢迎关注微信公众号,长期推荐技术文章和技术视频

微信公众号名称:Android干货程序员

相关文章

网友评论

  • 912ee3714b10:马老师好
  • DJ鼎尔东XXL:原来android干货那个公众号是你的:stuck_out_tongue:
  • C_Sev:面试会考这个??🙄
  • Ken_mmm:希望大佬可以上传到百度盘一份,下载下来看看:smile:
    小怪兽打葫芦娃:@L火凤凰 之前传过,百度网盘总是失效,我都整理出来了,放到github上面在。https://github.com/open-android/Android

本文标题:android面试题-Oauth的实现原理

本文链接:https://www.haomeiwen.com/subject/rryrzttx.html