外部函数中的OAuth2资源控制器

时间:2015-02-26 23:13:40

标签: php oauth-2.0 access-token

我正在使用this OAuth2 implementation。当我在资源控制器中验证查询时,我通过

进行检查
if (!$server->verifyResourceRequest(OAuth2\Request::createFromGlobals())) {
    $server->getResponse()->send();
    die;
}

如果提供的access_token是正确的 目前,这段代码存在于我通过ajax访问的所有resource.php个文件中,因为我需要die来阻止代码在令牌无效时继续进行。

如何将所有这些功能导出到外部函数/文件validateToken()并在我的所有resource.php文件中使用它,而不会丢失die的内容?是否足以将resource.php包裹在if语句中validateToken()作为条件?

1 个答案:

答案 0 :(得分:0)

解决方案取决于您在资源中的具体内容。例如,您的资源是控制器,它们是从一些BasicController类继承的,并且您有自己的onDispatch实现。在那里,您可以检查请求和访问令牌。此示例的优点是,您不需要在每个控制器中添加访问令牌验证。我将实现自己的OAuth服务(它可以从您的项目架构中可靠),包装方法将在其中找到。在BaseController中,您可以使用此服务进行访问令牌验证,并且所有OAuth逻辑将放置在一个位置(在服务中我的意思)。

P.S。:避免使用die。实现一些简单的错误消息...