PHP Slim Framework REST API-在每个路由之前验证访问令牌?

迈克尔

我已经建立了一个RESTful API和一个单独的客户端网站来对其进行调用。

客户端网站使用oAuth2的“资源所有者密码凭据”授予类型从API获取访问令牌(来自https://myapi.com/v1/oauth/token

对API的所有其他调用都必须包含访问令牌才能访问数据。

使用Slim框架,如何获取访问令牌,在数据库中查询属于该访问令牌的用户并使该用户模型可用于路由?

我想做这样的事情,但我不确定如何...

function validateAccessToken() {
    $access_token = $_GET["access_token"];
    $user = \models\user::where("access_token", "=", $access_token)->first();

    if($user === NULL) {
        throw new exception("Invalid access token");
    }

    return $user
}

$app->get("/v1/emails", validateAccessToken(), function() use ($app) {
    $emails = \models\emails::where("user_id", "=", $user->id)->toArray();
    echo(json_encode($emails));
});
吉姆
$validateAccessToken= function($app) {
    return function () use ($app) {
       $access_token = $app->request()->get("access_token");
       $user = \models\user::where("access_token", "=", $access_token)->first();

       if($user === NULL) {
           $app->redirect("/errorpage");
       }


    };
};

$app->get("/v1/emails", $validateAccessToken($app), function() use ($app) {
    // here you have to define $user once again
    $access_token = $app->request()->get("access_token");
    $user = \models\user::where("access_token", "=", $access_token)->first();

    $emails = \models\emails::where("user_id", "=", $user->id)->toArray();
    echo(json_encode($emails));
});

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

PHP Slim Framework REST API-在每个路由之前验证访问令牌吗?

来自分类Dev

PHP Slim rest api中的POST变量

来自分类Dev

使用 Slim 分组路由 REST API

来自分类Dev

Slim Framework API路由的Nginx配置

来自分类Dev

如何使用Slim Framework API连接(路由)Angular?

来自分类Dev

PHP:Slim Framework异常处理

来自分类Dev

如何为Slim Framework中内置的REST API编写单元测试?

来自分类Dev

如何为Slim Framework中内置的REST API编写单元测试?

来自分类Dev

Slim Framework PHP-在某些情况下阻止路由访问用户

来自分类Dev

Slim Framework PHP-在某些情况下阻止路由访问用户

来自分类Dev

从Guzzle调用中将PHP Slim REST API中的文件返回到另一个REST API

来自分类Dev

Slim Framework身份验证

来自分类Dev

在Django Rest Framework中路由API视图?

来自分类Dev

PHP REST API-验证

来自分类Dev

PHP REST API-验证

来自分类Dev

Slim Framework 3 PHP-视图变量

来自分类Dev

在Swagger PHP中使用Slim Framework

来自分类Dev

Slim Framework-PHP-如何防止注入?

来自分类Dev

将Slim Framework与Swagger PHP结合使用

来自分类Dev

PHP Slim Framework请求使用withAttribute错误

来自分类Dev

路由组中的 Slim PHP 访问对象

来自分类Dev

Slim 3 Framework-我应该为我的API使用路由组吗?

来自分类Dev

如何重构路由的长php文件(我正在使用Slim Framework)

来自分类Dev

PHP-Slim Framework:在路由闭包内包含大量代码的最佳实践

来自分类Dev

如何在Nginx的子目录中获取Slim PHP Framework路由

来自分类Dev

如何在Nginx的子目录中获取Slim PHP Framework路由

来自分类Dev

Slim Framework Rest服务获得两次输出

来自分类Dev

Django Rest Framework API

来自分类Dev

Slim PHP REST API无法在生产服务器中获取数据,可以在本地主机上工作

Related 相关文章

  1. 1

    PHP Slim Framework REST API-在每个路由之前验证访问令牌吗?

  2. 2

    PHP Slim rest api中的POST变量

  3. 3

    使用 Slim 分组路由 REST API

  4. 4

    Slim Framework API路由的Nginx配置

  5. 5

    如何使用Slim Framework API连接(路由)Angular?

  6. 6

    PHP:Slim Framework异常处理

  7. 7

    如何为Slim Framework中内置的REST API编写单元测试?

  8. 8

    如何为Slim Framework中内置的REST API编写单元测试?

  9. 9

    Slim Framework PHP-在某些情况下阻止路由访问用户

  10. 10

    Slim Framework PHP-在某些情况下阻止路由访问用户

  11. 11

    从Guzzle调用中将PHP Slim REST API中的文件返回到另一个REST API

  12. 12

    Slim Framework身份验证

  13. 13

    在Django Rest Framework中路由API视图?

  14. 14

    PHP REST API-验证

  15. 15

    PHP REST API-验证

  16. 16

    Slim Framework 3 PHP-视图变量

  17. 17

    在Swagger PHP中使用Slim Framework

  18. 18

    Slim Framework-PHP-如何防止注入?

  19. 19

    将Slim Framework与Swagger PHP结合使用

  20. 20

    PHP Slim Framework请求使用withAttribute错误

  21. 21

    路由组中的 Slim PHP 访问对象

  22. 22

    Slim 3 Framework-我应该为我的API使用路由组吗?

  23. 23

    如何重构路由的长php文件(我正在使用Slim Framework)

  24. 24

    PHP-Slim Framework:在路由闭包内包含大量代码的最佳实践

  25. 25

    如何在Nginx的子目录中获取Slim PHP Framework路由

  26. 26

    如何在Nginx的子目录中获取Slim PHP Framework路由

  27. 27

    Slim Framework Rest服务获得两次输出

  28. 28

    Django Rest Framework API

  29. 29

    Slim PHP REST API无法在生产服务器中获取数据,可以在本地主机上工作

热门标签

归档