• 关于开放平台的OAuth2.0认证 拓荒者


    我是通过点点网了解到OAuth2.0的,点点网关于OAuth的介绍是:OAuth 2.0是在2006年设计的OAuth协议的下一个版本, 2.0版本更注重于客户端开发的简易性,同时给Web,桌面,移动等平台给予支持,它是基于OAuth WRAP开放的一套安全认证的流程。

    OAuth2.0的授权认证流程如下图:

    A:客户端发起授权请求

    B:资源的拥有者返回允许授权的应答

    C:客户端向授权服务器发出认证授权的请求

    D:认证通过,授权服务器会返回一个包含Access Token的应答,该应答中应包含Access Token

    E:客户端根据D中得到的Access Token向资源服务器发送访问请求

    F:资源服务器返回资源。

    以上只是个人的简单理解,只做参考。

    关于OAuth 2.0的认证流程,根据官方的说法,总共有4种:

    1. Authorization Code

    这是基于网页的授权方式。客户端在请求验证前,需要先将浏览器跳转到用户授权页面,用户在登陆并确认授权后将浏览器Redirect到获得ClientID是注册的回调地址。这个地址中包含一个code参数。用户根据该参数请求服务器获得Access Token。

    该认证授权流程包含了图片中的所有步骤。

    2.Implicit

    这是一种适合JS等网页语言使用的认证方式,这种认证方式比较简单,值包含图片中的A、B、C和D几个步骤。首先将页面引导至用户授权页面,用户授权后直接跳转到回调地址,并将Access Token作为地址参数传递给页面,方便脚本语言(JS)的访问。

    3.Resource Owner Password Credentials

    这是一种比较大的信任授权方式,前提条件是用户对你的应用有绝对的信任,愿意在你的应用(Client)中输入自己的用户名和密码。客户端通过用户名和密码进行验证,并得到Access Token。由于这种方式需要用户的绝对信任,并且需要客户端程序开发人员有比较强的自律和职业操守,所以这种方式经常不被推荐。

    4.Client Credentials

    对于不需要用户登陆就可以访问的资源,可以通过这种方式进行授权。这种授权方式只包含C、D、E和F几个步骤。

    关于 Refresh Token

    正常情况下,我们在获得了Access Token后就可以对受保护的资源进行访问。但是 Access Token的声明周期比较短(通常为10分钟),当Access Token到期后,我们可以通过使用Refresh Token重新获得Access Token。

    每一个Refresh Token可以使用一次,在重新获得Access Token时,Refresh Token 也会被重新获得。

    注意:由于我是通过点点网的OAuth了解到的这些内容,尽管也参考了一些博客和官方的文档,但仍然不能做到尽善尽美,读者在看的时候也要抱着怀疑的态度,积极求证,有不懂的问题可以留言和我交流。

     

  • 相关阅读:
    idp账号使用系列记录
    cocos2dxjs binding安卓运行时出现signal 11 (SIGSEGV) 程序闪退问题记录
    cocos2dx 2.1.1 javascript在mac下跨平台编译粗略记录
    cocos2dx2.1使用Xcode整合ios与android开发代码 过程记录
    查找第k个数字的位置
    准备编写ogl2dlib的动画脚本编辑器
    开始学习nebula2 sdk
    地铁尴尬事件
    坦克物理模型(ode)
    MBTI职业性格测试(Psytopic特别版)
  • 原文地址:https://www.cnblogs.com/youring2/p/2794381.html
Copyright © 2020-2023  润新知