php - laravel 护照授权码 - 要求授予权限,有必要吗?

标签 php laravel security oauth-2.0 authorization

我正在寻求一些关于在授权我自己的 SPA 时如何准确地进行 Oauth 身份验证代码 PKCE 授予的说明。

所以当我从 SPA 重定向到后端时(当然是在我登录之后),我得到了这个:

enter image description here

现在我明白了,如果我想使用 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/

相关文章:

php - 为什么我们必须将克隆分配给新变量?

laravel - 如何在 Laravel 5.# 中以秒的方式使用调度程序

php - required_without 不使用多个字段

node.js - 如何存储第三方凭据(无 api、无 OAuth)以供自动重用?

php - 正则表达式替换冒号和分号之间的冒号

php - 序列化(数据)的哪个mysql列类型?

javascript - 如何将压缩数据从 Laravel 服务器发送到前端 JS

security - 有没有办法对文档进行数字签名以证明它们在某个时间点存在

Java 客户端调用 Windows 集成身份验证 Web 服务

php - 如何在仪表板的 wordpress 菜单中添加 <a> id?