我正在使用Laravel框架在PHP中创建一些API。客户端将使用我的库访问这些API。我想使用OAuth 2.0来保护这些API。这就是我到目前为止所做的:
我正在使用这个Laravel包来执行OAuth:https://github.com/lucadegasperi/oauth2-server-laravel
我在下面添加了oauth2.php配置文件:
'client_credentials' => array(
'class' => 'League\OAuth2\Server\Grant\ClientCredentials',
'access_token_ttl' => 3600,
),
我的Routes.php中有以下代码:
Route::get('oauth/access_token', function()
{
return AuthorizationServer::performAccessTokenFlow();
});
Route::get('secure-route', array('before' => 'oauth:scope1,scope2', function(){
return "oauth secured route";
}));
当我使用以下网址访问第一条路线时:
我得到以下回复:
{
access_token: "VQzbxeOYCaBvOKkAasEu6w3i3XLBSZgghnc8q8df",
token_type: "bearer",
expires: 1409681582,
expires_in: 3600
}
然后我使用此访问令牌使用以下URL访问我的API:
此时我收到一个未经授权的错误:
{
status: 401,
error: "unauthorized",
error_message: "Access token is not valid"
}
我一直在试图找出造成这种情况的原因,但一直无法做到。任何帮助将不胜感激。