设为首页 加入收藏

TOP

使用 OAuth2-Server-php 在 Yii 框架上搭建 OAuth2 Server(九)
2017-10-10 11:49:46 】 浏览:10213
Tags:使用 OAuth2-Server-php Yii 架上 搭建 OAuth2 Server
; 对于用户认证需要改写这个函数。



第四种认证方式: Client Credentials Grant (客户端凭证许可)

    当客户端请求访问它所控制的,或者事先与授权服务器协商(所采用的方法超出了本规范的范围)的其他资源所有者的受保护资源,客户端可以只使用它的客户端凭据(或者其他受支持的身份验证方法)请求访问令牌。

    客户端凭据许可类型必须只能由机密客户端使用。

     +---------+                                  +---------------+
     |         |                                  |               |
     |         |>--(A)- Client Authentication --->| Authorization |
     | Client  |                                  |     Server    |
     |         |<--(B)---- Access Token ---------<|               |
     |         |                                  |               |
     +---------+                                  +---------------+

     图4:客户端凭证流程

     图4中的所示流程包含以下步骤:

    (A)客户端与授权服务器进行身份验证并向令牌端点请求访问令牌。

    (B)授权服务器对客户端进行身份验证,如果有效,颁发访问令牌。

     Tips: 这是最简单的认证方式。

     由于客户端身份验证被用作授权许可,所以不需要其他授权请求。

    实现如下:
    1. 在 Oauth2Controller 中添加对 client credentials 认证方式的支持:

    $server->addGrantType(new OAuth2\GrantType\ClientCredentials($storage));
    
    2. 获取 access_token:

    curl -u testclient:testpass www.yii.com/oauth2/index.php?r=oauth2/token -d 'grant_type=client_credentials'
    
    提交参数: grant_type    REQUIRED.  Value MUST be set to "client_credentials".
           scope    OPTIONAL.  
    返回:
        {"access_token": "f3c30de
首页 上一页 6 7 8 9 10 11 下一页 尾页 9/11/11
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇PHP多台服务器跨域SESSION共享 下一篇微信浏览器判断

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目