【发布时间】:2021-12-21 13:57:44
【问题描述】:
我目前正在阅读Laravel Passport 上关于跳过第一方客户端授权提示的文档。我已经根据典型用户将验证的客户端请求的范围保护了路由,但是,我使用 Laravel 护照作为我的第一方应用程序和第三方的单点登录服务器,因此想要跳过授权仅适用于第一方客户。
需要注意的是,无论是否有授权提示,范围都应该仍然适用。我的第一方客户端仍然会发送相对于用户的范围,我只想跳过授权提示并在登录后立即重定向。
我按照文档的建议创建了一个模型:
namespace App\Models;
use Laravel\Passport\Client as BaseClient;
class Passport extends BaseClient
{
public function skipsAuthorization()
{
return $this->firstParty();
}
}
但是,它没有提到如何生成第一方客户端,或者如何将当前客户端升级为第一方客户端。
在检查数据库表oauth_clients 时,没有任何相关列或外部表表明客户是第一方。
为此,我假设$this->firstParty() 需要在Passport 类中实现,并且应该创建迁移以添加is_first_party 列。
为此,文档进一步引用了Overriding default models,但是,文档显示Client 类是Passport::useClientModel 的默认值,但创建的模型建议扩展BaseClient。
任何帮助表示赞赏。
【问题讨论】:
标签: php laravel oauth-2.0 laravel-8 laravel-passport