问题标签 [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.
laravel - 为 Laravel Socialite 用户启用两个因素时,如何禁用 Laravel Fortify 密码确认?
所以我有一个使用 Fortify 进行身份验证的 Laravel 8 应用程序,我最近设置了两因素身份验证。除了我之前使用 Socialite 设置登录外,使用普通用户/密码一切都很好。我进行社交登录的方式是在用户登录时为他们设置一个随机密码,因为让他们手动设置密码有点违背社交登录的目的。如果我设置,问题出在 Fortify
为真,我有效地做到了,这样社交名流用户就无法在不先重置密码的情况下设置 2FA。我想我想做的只是用于社交登录,并且在两个因素设置期间禁用密码确认。我想知道如何自己找到这些东西的答案,但经过大约一个小时的搜索,我希望有人能帮助我指出正确的方向。我在 Fortify 源中做了一些探索,一些可能的候选人是:Fortify::confirmPasswordsUsing
,,Fortify::authenticateThrough
或者可能修改身份验证防护,但到目前为止,所有这些都不是错误的位置,就是高于我的工资等级。理想情况下,单击启用时TwoFactorAuthenticationController@store
只会跳过社交登录的密码确认。那有意义吗?你是如何处理这种情况的?
php - Laravel Jetstream 寄存器上未定义 Auth guard [api]
所以,我刚刚启用了 Laravel Jetstream 注册。当我尝试提交时,模型创建工作但是,自动登录没有。
它抛出一个错误说:
未定义身份验证保护 [api]。
我真的不知道为什么它使用 API 保护。这是我的 auth.php
我一直在寻找答案将近 5 个小时,但仍然无法使其工作。尝试清除每个缓存,但没有运气。
我可能会错过什么?
谢谢!
laravel - 如何在区域设置的 ResetPassword Notification 中翻译 Lang::get('Reset Password Notification')?
如何翻译通知消息文本?我找到它的路径,
/vendor/laravel/framework/src/Illuminate/Auth/Notifications/ResetPassword.php' copied it's content to
app/Notifications/PasswordReset.php`
如何翻译Lang::get('Reset Password Notification')
字符串,将我的翻译放在哪里,如何设置语言环境?
laravel - {{ auth()->user()->email }} / {{ Auth::user()->email }} 在 x 组件中不起作用
php artisan make:component Navbar
,创建:
App\View\Components\Navbar.php
app\resources\views\components\navbar.blade.php
放置{{ auth()->user()->email }}
或{{ Auth::user()->email }}
在刀片文件中,给出了这个错误:
Trying to get property 'email' of non-object
.
试图通过将我的更改App\View\Components\Navbar.php
为:
并添加{{ $email }}
到我的刀片文件中并且它有效。
但是,我想显示来自经过身份验证的用户的电子邮件地址,所以我改为App\View\Components\Navbar.php
:
我又遇到了同样的错误。
php - 注销时删除 Cookie、Laravel 8.x、Fortify/Jetstream
寻找一种方法来执行一些代码,特别是在从使用 Fortify 和 JetStream 的 Laravel 8.x 框架注销时删除/过期一些 cookie。
我注意到几个帖子引用了相同的问题,但不太确定哪个是最好的以及如何实施。
这个: Laravel Fortify Logout Redirect看起来很有希望:
那里的第二个选项说:
创建一个新的 LogoutResponse 类并将重定向逻辑实现到 toResponse 方法中:
应用程序/Http/Responses/LogoutResponse.php
现在您可以在 FortifyServiceProvider 的 boot 方法中将新响应绑定到服务容器中:
app/Providers/FortifyServiceProvider.php
另请参阅: Laravel Fortify
似乎只是做一个重定向,但在我的情况下,我实际上想要使一组 cookie 过期,并可能在 app/Http/Responses/LogoutResponse.php 中做更多的内务处理。
也不完全确定如何在 Laravel 中删除 cookie,?在某些情况下,用户可能实际上甚至没有登录,我可能想在他们关闭浏览器时删除一个 cookie(也许通过使用 JS 来检测关闭浏览器然后删除 Cookie(后端只有 HTTP cookie?)。
laravel - 如何更改登录页面的布局?
在 Laravel 8/livewire / Fortify 应用程序中,我想更改登录页面的布局,因此在文件 resources/views/auth/login.blade.php 中我在文件顶部进行了评论并尝试在 app/Providers/FortifyServiceProvider.php 中分配布局,就像我对 livewire 组件所做的那样:
但它不起作用......我该怎么做?
提前致谢!
laravel - 如何为 laravel 强化路线设置名称?
我有点好奇,抱歉这个愚蠢的问题。
我想在 Laravel 8 + Fortify 堆栈中获取登录路径,看来我不能直接使用“/login”,因为它会附加在 URL 上。所以我想用
但问题是,它给了我一个错误“未定义路线”。当我运行命令route:list
时,它显示一个空白名称用于登录和注册,但有一个用于“注销”的名称
我想知道如何为 fortify 路线命名,因为它没有在routes.web
passwords - 如何为电子邮件创建 $token 来强化 Laravel?
我正在覆盖默认的 Fortify 密码重置,使其像欢迎电子邮件一样工作,用户可以在其中获得用于创建新密码的电子邮件链接。
这种方式token不可接受?我在这里做错了什么?
laravel - Laravel Fortify - 动态启用功能
我想根据用户设置切换 Fortify 功能。
My/config/fortify.php
默认启用了一组基本功能:
其余功能根据数据库设置动态启用。
这是我的AppServiceProvider::boot()
方法:
当我访问该网站时,该代码有效(启用了功能)。
但是,这些动态启用功能的关联路由未注册,也不会显示在artisan route:list
.
仅在启用该fortify/routes/routes.php
功能时才注册路由:
如何为动态启用的功能生成路由?
更新#1:正如评论中所建议的,我已经在FortifyServiceProvider
课堂上包含了代码。路线没有改变。我还将代码添加到中间件,仍然没有运气。
看来我需要在laravel/fortify
配置路由之前注入此代码。截至目前,我的代码是在包初始化之后执行的。
laravel - 使用 Laravel Jetstream/Fortify 重新验证用户
我正在使用 Laravel Jetstream(它使用 Laravel Fortify 进行身份验证)。默认行为似乎是,如果用户处于非活动状态的时间长于文件SESSION_LIFETIME
中的时间.ENV
,则会话过期。
我正在尝试修改如何处理此会话到期。目前,当用户回到他们的计算机以进行过期会话时,如果他们单击导航页面(例如任何 GET 请求),他们将被推回登录页面并能够重新进行身份验证,这很棒。
但是问题是,如果他们正在创建尚未保存的博客文章之类的内容,则他们会在更长的时间内处于非活动状态,SESSION_LIFETIME
并且会话到期,然后他们会返回计算机,并且继续添加到他们的博客文章中,当他们尝试保存(非 GET 请求)时,会返回 405 响应(不支持的方法),并且用户将无法保存他们的帖子并且可能会丢失他们的工作。
我在这里基本上有两个选项(1)设置SESSION_LIFETIME
像 2 周这样的东西,这样就不太可能发生,或者(2)创建一个像模式一样的东西,打开并允许用户从他们当前的页面重新验证,从而保持可能未保存的数据。这个事情谁有经验?大多数功能似乎都来自/vendor/laravel
文件夹,所以我不确定更改功能是否容易/值得。
谢谢