我在做一个Laravel项目。我正在使用Laravel进行API认证。在用户通过带有护照授予类型的oauth/token路由登录或生成访问令牌后,我试图根据用户角色将范围分配给访问令牌。我怎么能推翻它?
我不能像文档中提到的那样做这件事。
$token = $user->createToken('My Token', ['place-orders'])->accessToken;因为它显式地生成令牌。似乎我必须编写自己的登录方法才能使用该方法。如何替代oauth/令牌路由?
发布于 2022-05-10 08:34:05
我不太确定您的用例,但是如果您在OAuth上进行身份验证,您将按照/authorize规范在/authorize GET请求中包含您的作用域。
即
https://localhost/oauth/authorize?response_type=code&client_id=abc123 &scope=myfirstscope,mysecondscope等。
请参见OAuth规范:
https://datatracker.ietf.org/doc/html/rfc6749#section-4.1.1
还可以使用以下方法定义默认作用域:
Passport::tokensCan([
'place-orders' => 'Place orders',
'check-status' => 'Check order status',
]);
Passport::setDefaultScope([
'check-status',
'place-orders',
]);https://stackoverflow.com/questions/63473266
复制相似问题