【学无止境】 基于ThinkPHP的OAuth2.0实现 ----OAuth2.0 个人学习笔记 Two

本文是关于使用ThinkPHP结合OAuth2.0进行开发的学习笔记,详细介绍了从准备工作到测试的整个流程。首先,将OAuth2.0源码包放入ThinkPHP项目中,新建模块并配置路由。接着,在配置文件中设置PDO数据库,创建主控制器并继承基类。然后,通过公共方法处理授权和换取token。在验证token正确后,所有资源控制器需继承特定控制器。最后,提供测试方法,引导用户授权并获取资源。
摘要由CSDN通过智能技术生成

ThinkPHP 结合 OAuth2.0

准备工作
  1. 第一我们得准备好OAuth2.0的源码包,下载地址点这里。

  2. 我们将下载好的源码包放在thinkphp的vendor文件夹下面。这里注意只要src文件夹下的OAuth2放入vendor即可。如下图:
    这里写图片描述

  3. 新建模块oauth2.0 然后将其路由等信息配置完毕。

开始工作

  • 首先还是在配置文件中把OAuth的PDO数据库配置完成
 //OAuth数据库配置
    'OAUTH_DB_HOST'=>'xxxxx.com',
    'OAUTH_DB_NAME'=>'xxx',
    'OAUTH_DB_USER'=>'xxx',
    'OAUTH_DB_PWD'=>'xxxxxxxx',
  • 新建 IndexController 作为本次学习的主控制器,注意本控制器请继承 RestController(thinkphp封装)
class IndexController extends RestController 
  • 新建 authorize 公共方法来处理用户的授权请求和换取code的工作
public function authorize(){
   
        //默认response_type为code
        $_GET['response_type'] =  isset($_GET['response_type'])?$_GET['response_type']:'code';
        //数据表字段为client_id指的是appid
        isset($_GET['appid'])  && $_GET['client_id'] = $_GET['appid'];

        $oauth = new OAuthModel();
        $request = \OAuth2\Request::createFromGlobals();
        $response = new \OAuth2\Response();

        if (!$oauth->server()->validateAuthorizeRequest(
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值