问题标签 [laravel-fortify]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
96 浏览

laravel - Laravel Fortify 返回 Not Found

我发送一个 xhr 请求来/login路由。它确实登录,但响应是带有 text 的 html Not Found。我意识到 fortify 是这么说的,因为它找不到登录的视图。我已启用视图,'views' => trueconfig/Fortify.php. 但我希望 Fortify 在成功登录后返回成功响应文本。我怎样才能做到这一点?

0 投票
0 回答
39 浏览

laravel - Laravel Fortify XHR 登录响应

如何使用 Fortify 向用户发送自定义响应? 使用fortify将xhr发送到laravel
后如何返回成功文本?/login我已经设置'home' => RouteServiceProvider::HOME'views' => trueconfig/Fortify.php. 现在,在登录成功和失败后,我都会收到一个“未找到”的 html 作为响应文本。

0 投票
0 回答
245 浏览

laravel - 如何向 Fortify 发送 Axios 请求以重置密码

在我正在构建的网络应用程序中,有两种方法可以重置密码:从登录页面(用户尚未登录)和通过设置页面。

我正在使用 Laravel Fortify 重置密码,根据您只需发送 POST 请求的文档,/forgot-password将生成并直接发送电子邮件。

当我从重置密码视图(带有 POST 表单的经典刀片)执行此操作时,它工作正常并且我收到了电子邮件。

但是,当我尝试通过设置页面(这是一个 vue 组件)通过带有 email 参数的 Axios 向相同的 url 发送发布请求来实现这一点时,我在302 Found没有收到电子邮件的情况下获得了状态。

这是忘记密码请求刀片视图的代码:

对于 vue 组件中的方法(从设置页面重置,这是行不通的)

0 投票
0 回答
137 浏览

laravel - Laravel Fortify/Sanctum:在未登录的情况下重新发送验证邮件

我目前正在为未来的项目做一些研发,并打算使用 Laravel Fortify & Sanctum。

这个想法是用户可以注册一个独立的 PWA 应用程序(已经存在 - 但正在使用即将结束的第三方身份验证。)托管在不同的域上。

目前我看到两个选项,要么使用来自 fortify 的默认流程在 laravel 应用程序上进行注册。一旦用户注册并验证了他的电子邮件,他将能够登录 PWA 应用程序。这是最容易开发的流程,因为它是开箱即用的功能,但对用户不太友好。

另一种方法是通过 API 调用在 PWA 应用程序中注册用户。注册后,我将触发发送带有验证链接的电子邮件。此链接不需要用户通过身份验证来确认。

所以现在出现了令人困惑的部分,除非电子邮件经过验证,否则不允许用户登录 PWA 应用程序。并且将在 PWA 中通过验证电子邮件警告进行提示。但是,如果用户由于某种原因没有收到电子邮件或链接已过期,他将被卡住。

此时我将提供一个输入字段,用户可以在其中输入他的电子邮件地址以重新发送验证电子邮件。并通过 api 发送该电子邮件以重新发送验证链接。

当没有用户使用该电子邮件地址时,用户不会看到错误,只是为了避免一些数据泄露。

我想知道这种方法是否会导致一些安全问题?还是我应该采用默认的强化注册/验证流程的第一种方法?

感谢您分享您对此事的看法。

最好的问候,巴特

0 投票
2 回答
82 浏览

laravel - 是否有一种内置方法可以从注册中删除帐户枚举?

我使用 Jetstream 和 Inertia 创建了一个新站点。目前,该应用程序将返回“电子邮件已被占用”。如果用户尝试使用现有电子邮件注册,则显示消息。尽管有时间分析,我想保持用户帐户的存在隐私。如果有人使用现有电子邮件注册,有没有办法保持对电子邮件的唯一约束但显示相同的外在行为?理想情况下,我不想创建第二个用户,而是向现有用户发送电子邮件,建议他们重置密码或忽略电子邮件。

0 投票
1 回答
176 浏览

laravel - Laravel 在用户注册或发送电子邮件密码时强化回显/打印/返回令牌

有没有办法知道 laravel fortify 在用户注册时如何生成令牌(通过发送带有令牌的电子邮件验证)以及用户重置密码时(使用重置密码链接发送的令牌)。我想打印/回显那些在单元测试期间使用它。

0 投票
1 回答
90 浏览

php - 确定 Laravel Fortify 中是否使用了恢复代码

是否可以确定 Laravel Fortify 中是否已经使用了恢复代码?

0 投票
0 回答
586 浏览

php - Laravel Sanctum 多守卫奇怪的会话问题(用户共享会话/以多个用户身份登录)

我正在尝试使 Fortify with sanctum 与名为 SPA 的自定义 Guard 一起工作。

管理员正在使用 Web Guard 登录后端。

用户正在登录将托管 VUEJS SPA 的子域。

管理员登录 -> https://test.local:8890/admin/login并重定向到https://test.local:8890/admin/dashboard有效 -> 好的

用户登录https://spa.test.local:8890 (vue app)。-> 好的作品

Vue文件:

所以想法是用户不能在仪表板上登录并有一个单独的表

当我登录我的管理员时,我会转到仪表板。我在 chrome 中打开一个新选项卡,并以 vue 应用程序中子域上的用户身份登录。当我回到仪表板时,我仍然登录得很好,并且我以用户身份登录到另一个选项卡(超级)

但是在检查 chrome https://test.local:8890/https://spa.test.local:8890/中的 cookie 时,共享相同的 cookie laravel_session 和 xcsrf 令牌......它们是相同的......

所以现在当我转到管理员选项卡并转到 web-api 路由https://test.local:8890/web-api/user我看到用户的凭据:

{"id":4,"first_name":"Happy","last_name":"Doe","email":"doe@example.com"}

但是我仍然可以以管理员身份访问我的仪表板。

我已在 sanctum 配置中添加了保护参数。

配置/圣所:

在内核文件中,我将所有内容从“web”中间件复制到“spa”,因为它的工作原理几乎相同。

内核.php:

在 env 文件中配置 Sanctum 参数。

.env :

将 SPA 添加到 routeServiceProvider 启动方法

RouteServiceProvider.php:

然后我在 SpaAuthController 中的登录功能:(由 spa 使用)

默认情况下,强化控制器会处理整个 Web 登录...

发布 | 管理员/登录 | | Laravel\Fortify\Http\Controllers\AuthenticatedSessionController@store | 网络

在这一点上它变得有点有趣,我在这里做错了什么,我应该担心潜在的安全问题假设是的:D)

0 投票
1 回答
1370 浏览

php - Laravel 8 Multi Auth Guard 使用 Fortify 但无法为管理员实现忘记密码和验证电子邮件

我使用自定义视图实现了 Fortify Multi Auth Guard(管理员和用户)。我有管理员和用户的单独登录视图。我还为用户实施了忘记密码,并且运行良好。我只是无法为管理员实施忘记密码。此外,我还想为管理员和用户实施电子邮件验证。我找到了一半的解决方案请允许我解释一下:-

供应商/laravel/framework/src/illuminate/Auth/Passwords/PasswordBrokerManager.php

如果我将上述方法修改如下,它仅适用于用户

如果我如下修改方法,它仅适用于管理员

根据要求,它将如何为两者工作?覆盖提到的 broker() 方法的最佳方法是什么?

配置/auth.php

配置/fortify.php

0 投票
1 回答
1102 浏览

laravel - 如何在 Laravel Fortify 中更改重置密码电子邮件模板?

我正在使用 fortify 进行身份验证,但是我需要更改 fortify 自动发送的“重置密码”电子邮件模板中的文本。我找不到实现这一目标的方法。

是否可以从 Nova 使模板可编辑?我在 Nova 中有一个 MailTemplate 资源,允许从 Nova 更改电子邮件模板,但我无法为“重置密码电子邮件”实现这一点,因为它是由 fortify 发送的,无法找到控制它的方法。