我希望得到一些澄清,当涉及到授权我自己的SPA时,如何准确地进行Oauth认证代码PKCE授权.

因此,当我从SPA重定向到后端(当然是在我登录之后)时,我得到了以下信息:

enter image description here

现在我明白了,如果我想用谷歌或twitter登录我的应用程序,这是有意义的.

但是,如果我想登录后端应用程序,用我的SPA获取令牌,有没有办法避免每次用户登录时都出现这种情况?这有意义吗?

我希望从用户的Angular 来看:

  • 单击登录
  • 重定向到假装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相关问答推荐

PHP FFI—将PHP数组转换为C指针数组

累加平面数组中数字子集的所有组合,以生成组合及其乘积的二维数组

如何更改数据表行背景 colored颜色

根据产品类型显示或隐藏WooCommerce管理产品自定义字段

PHP MySQL求和子树并与父树累加

将文件添加到存档,而不重建存档

WooCommerce在购买后多次重定向

将下拉 Select 的值从WooCommerce后端保存并显示到前端

在laravel 9或10 php中向中间件响应添加自定义数据

设置WordPress最近的帖子小部件按修改日期排序

未收到Strava WebHook事件数据

获取作者';在WordPress中使用PHP

以编程方式同步 WPML 翻译更改 Woocommerce 产品销售价格

将自定义字段添加到管理产品 在 WooCommerce 3.2+ 中批量编辑

如果在 APIPlatform 3.1 中的同一资源上使用处理器,Messenger 将无法工作

产品页面自定义复选框可对 WooCommerce 购物车小计启用百分比折扣

Laravel 添加到经过身份验证的用户的数据将应用于每个查询

我正在使用 Baryryvdh/laravel-snappy 从 HTML 导出 PDF 它正在工作但缩小了 pdf 文件

基于其他数组创建多维数组 struct

将参数传递给 laravel 9 工厂