PHP应用:[Oauth] Oauth2.0中的授权码模式

    作者:陶士涵的菜地更新于: 2020-04-02 22:15:52

    大神带你学编程,欢迎选课

    OAUTH协议为用户资源的授权提供了一个安全的、开放而又简易的标准。与以往的授权方式不同之处是OAUTH的授权不会使第三方触及到用户的帐号信息(如用户名与密码),即第三方无需使用用户的用户名与密码就可以申请获得该用户资源的授权,因此OAUTH是安全的。oAuth是Open Authorization的简写。

    这种模式是我们常见的oauth形式,例如第三方登陆,qq,微博等,都是使用的授权码模式,也是很多网站系统对外提供的接口形式

    这种模式大体是需要两步,一般是先获取code , 获取完code后,拿着code去获取Access_token

    例如下面这俩接口:

    1. 获取code

    https://b.com/oauth/authorize?
    response_type=code&
    client_id=CLIENT_ID&
    redirect_uri=CALLBACK_URL&
    scope=read

    2. code是在回调地址CALLBACK_URL,给回调回来的,一般这个回调地址会在b网站系统申请client_id等的地方,进行设置保存的,不是随便都可以的

    我们在CALLBACK_URL中接收到code ,然后拿着code去获取access_token

    https://b.com/oauth/token?
    client_id=CLIENT_ID&
    client_secret=CLIENT_SECRET&
    grant_type=authorization_code&
    code=AUTHORIZATION_CODE&
    redirect_uri=CALLBACK_URL

    这是oauth2.0的建议方式 , 但是有一些系统并不是直接传递的client_secret ,而是把他和参数拼接一起,加密后作为签名,放在参数里,b系统对参数进行校验,这样更安全一点。

    Python是一种跨平台的计算机程序设计语言。是一种面向对象的动态类型语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越多被用于独立的、大型项目的开发

课课家教育

未登录