zoukankan      html  css  js  c++  java
  • Oauth认证协议

    原文地址腾讯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全面的示意图

  • 相关阅读:
    51单片机寄存器组的设置(转)
    51单片机堆栈深入剖析(转)
    do{...}while(0)的妙用(转)
    优化C/C++代码的小技巧(转)
    Struts2返回json
    详略。。设计模式1——单例。。。。studying
    [深入理解Android卷一全文-第十章]深入理解MediaScanner
    《python源代码剖析》笔记 Python虚拟机框架
    jQuery Validation让验证变得如此easy(三)
    mysql高可用架构方案之中的一个(keepalived+主主双活)
  • 原文地址:https://www.cnblogs.com/anni-qianqian/p/8351973.html
Copyright © 2011-2022 走看看