php - Laravel Passport - 你如何禁止用户生成客户端?
问题描述
Passport 通过调用 Passport::routes() 为用户提供了一种注册路由的便捷方式来创建自己的客户端;在 AuthServiceProvider 中。
我不希望允许我的用户创建客户端,因为我只想使用php artisan passport:client
命令手动创建客户端,因为我只需要用于内部服务的机器对机器身份验证的护照。
如何自定义 Passport 的路由以仅公开传递客户端 ID 和机密以获得 access_token 的必要路由?我知道我可以深入研究框架并将我自己的路由暴露给一系列 \Laravel\Passport\Http\Controllers\PassportController@action,我只是不知道这是唯一的方式还是首选方式。
解决方案
您可以Passport::routes()
在 AuthServiceProvider 中传递一个闭包。看这里
在闭包中,您可以定义应该注册哪些路由。
像这样的东西:
Passport::routes(function ($router) {
$router->forAuthorization();
$router->forAccessTokens();
// etc.
);
以下是可用的方法:
forAuthorization();
forAccessTokens();
forTransientTokens();
forClients();
forPersonalAccessTokens();
推荐阅读
- php - PHP 没有设置 FOREIGN 键
- php - 使用嵌套标签回显 xml 文件的内容
- react-native - React native 获取国家和城市
- javascript - 如何在同一实例上从一个容器向另一个容器发出 http 请求
- php - the_title - 过滤奇怪的行为:影响缩略图
- pandas - 如何根据另一个df中的整数列删除df的行
- init - /var/log/ 中服务的日志输出
(sysvinit) - c - 使用 MPI_Gather 和 MPI_Type_vector 收集数据
- numpy - 对齐词嵌入的numpy数组
- asp.net-core - 如何在 .net core 3 中向 DI 注册 EventGridClient