我正在寻求一些关于在授权我自己的 SPA 时如何准确地进行 Oauth 身份验证代码 PKCE 授予的说明。
所以当我从 SPA 重定向到后端时(当然是在我登录之后),我得到了这个:
现在我明白了,如果我想使用 google 或 twitter 登录我的应用程序,这是有道理的。
但是,如果我想登录后端应用程序以使用 SPA 获取 token - 有没有办法在用户每次登录时避免这种情况?有道理吗?
我希望从用户的角度来看它是这样的:
- 点击登录
- 重定向到伪装成 SPA 的后端(视觉上)
- 登录
- 直接返回 SPA,无需确认这些内容
我主要只是想了解SPA的流程。我假设并怀疑我想要的根本不可能?
最佳答案
是的,你可以:)
创建您自己的 Passport 客户端。
<?php
declare(strict_types=1);
namespace App\Models;
class PassportClient extends \Laravel\Passport\Client
{
/**
* Determine if the client should skip the authorization prompt.
*
* @return bool
*/
public function skipsAuthorization()
{
// todo: add some checks, e.g. $this->name === 'spa-client'
return true;
}
}
并更新您的App\Providers\AuthServiceProvider
。
public function boot()
{
// ...
Passport::useClientModel(PassportClient::class);
}
关于php - laravel 护照授权码 - 要求授予权限,有必要吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71489077/