【发布时间】:2020-04-19 04:08:51
【问题描述】:
所以我在 Laravel 的文档 here 和这个问题 here 的指导下制作了一个 API。我遇到的一个问题是,只有通过Auth 进行身份验证才能访问 OAuth。
但是,由于我正在制作的应用程序只是 API,我想知道如何使用 auth:api 作为我的 oauth 链接的中间件,而不是 auth。应该发生的结果是,当我使用Auth:Api 进行身份验证时,我可以创建客户端。
我目前如何验证我的用户(这只是我从文档中获取的参考):
$http = new GuzzleHttp\Client;
$response = $http->post('http://your-app.com/oauth/token', [
'form_params' => [
'grant_type' => 'password',
'client_id' => 'client-id',
'client_secret' => 'client-secret',
'username' => 'taylor@laravel.com',
'password' => 'my-password',
'scope' => '',
],
]);
return json_decode((string) $response->getBody(), true);
AuthServiceProvider 有:
Passport::Routes()
最后,是否可以设置个人访问令牌的过期时间?
【问题讨论】:
-
如果您正在创建一个仅 API 的软件,您可以在
routes/api.php而不是routes/web.php中插入您的路由。这样,您的 API 路由将以/api前缀开头,并将使用auth:api中间件。 -
Whit
I could create clients when I am authenticated你的意思是在登录时创建新用户? -
@Stefano 的客户,我的意思是 oauth/clients(客户 ID + Secret)。我了解
routes/api,php的工作原理。我想知道当我以auth:api而不是auth进行身份验证时,如何访问诸如 oauth/clients 路由之类的路由