问题标签 [laravel-authorization]

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 投票
0 回答
33 浏览

oauth - Laravel 5.2 w/ OAuth2:如何根据是否发送了身份验证令牌来切换路由?

我有一条当前位于 OAuth2 中间件后面的路线。如果有人使用有效的身份验证令牌点击它,他们就会得到内容。如果他们使用无效令牌命中它,则会收到 400 错误。到目前为止,一切都很好。

问题是这条路线有两个目的。它将内容交付给客户端应用程序的用户,这些用户会在请求中提供身份验证令牌。但它也可以作为与他人共享内容的链接。当有人在浏览器中单击该链接时,他们不会提供任何身份验证令牌。在这种情况下,我想将它们重定向到带有智能横幅的登录页面,而不是 400 错误,以实现深度链接。这样,如果他们还没有应用程序,它将为他们提供应用商店链接以下载它。如果他们拥有应用程序并且正在使用他们的移动设备,则深层链接将导致客户端应用程序打开并转到指定的内容(使用他们的身份验证令牌)。

如何区分无效令牌与未提供令牌的 OAuth2 行为?

0 投票
1 回答
1508 浏览

laravel - Laravel 5.3 Passport 迁移和修改默认用户表

我刚刚从 laravel 5.2.45 升级到 5.3.15,并且像其他许多人一样,对如何实现护照和命令附带的默认表有一些疑问:

情况一:

我已将配置设置为具有 2 个单独的数据库连接。一个名为“core”(默认连接),另一个名为“auth”。

问题一:

当我正确执行所有步骤并迁移时,所有表都填充在 1 个数据库中。我想将护照迁移到身份验证数据库中,而不是其他所有内容。我怎样才能做到这一点?

情况2:

(假设所有配置文件都已正确设置)

我设法在以前版本的 laravel (5.2) 中做到了这一点,我将 users 表更改为 acct_user 并让一切正常工作。目前,当我进行相同的必要更改并尝试注册用户时,用户不会保存在数据库中。

我已经提取了位于Illuminate\Foundation\Auth\RegistersUsers中的代码,并覆盖了位于App\Http\Controllers\Auth的 RegisterController 类中的特征方法。

代码:

上面的代码,据我所知,直接负责处理注册请求和在数据库中创建用户。但是,它一直挂在事件帮助程序中,并不断重定向我,从不创建用户。我也尝试在整个课程中注释掉返回重定向,显然重定向发生在事件助手本身内。请记住,为此我正在使用 Postman 提出请求。

问题2:

我在这里做错了吗?如何阻止它重定向我,而是让它简单地返回用户对象?

情况3:

(试图模拟一个自我消耗的应用程序)

当我通过涉及护照的 Postman 发出登录或注册请求时,我期望取回一个 laravel_token cookie,其中嵌入了 JWT。

问题 3:

通过邮递员,我如何在退货中得到这个?或者我会在哪里看,因为目前我无法在任何地方找到它。也许我在这里也做错了什么。

非常感谢任何帮助。

0 投票
1 回答
116 浏览

laravel - 允许用户在 laravel 5.2 中进行登录后调用

我有 laravel 5.2 应用程序,如果用户已经登录,用户将被限制访问/login。现在我们已经实现了“从其他应用程序(不是 laravel)登录我们的应用程序”的功能。现在的问题是,当请求应用程序进行 ajax 调用以获取登录时,如果用户在请求之前未登录,laravel 5.2 会返回完美响应。但是登录后,如果再次请求应用程序请求登录,laravel 应用程序返回主页视图作为响应。我想在处理登录请求之前对其进行自定义并让用户注销。我在互联网和调试上花费了太多时间。但是到处都有人要求限制登录页面。但我的要求是允许/login使用 post 方法请求并自定义响应. 如果有人知道答案,将不胜感激。

这是请求应用程序的代码

0 投票
1 回答
1504 浏览

laravel - 重定向在 Laravel Auth 中的 LogSuccessfulLogin 句柄中不起作用

我正在使用Laravel 5.3哪个Auth用户控制器。Listener所以基本上我为Auth事件创建了一个

并在LogSuccessfulLogin handle()基本功能上重定向用户role。但我的重定向功能不起作用。它呈现默认页面 '\home' 路由。

我正在分享我的文件:-

事件服务提供者.php

路线/web.php

这是 LogSuccessfulLogin.php

这是Auth的默认登录控制器

如果我做错了什么,请告诉我。实际上我也尝试在LogSuccessfulLogin监听器中重定向页面,return redirect()->route('login');但它也不起作用。

0 投票
2 回答
1053 浏览

laravel - Laravel 中间件将包中的所有身份验证路由重定向到仪表板

我正在设置一个使用自定义包和 laravel 身份验证中间件的 laravel 5.3 应用程序。当我在 laravel/packages/vendor/packageName/src/routes.php 中定义路由时

它重定向到在 RedirectIfAuthenticated 中间件中定义的 localhost:8000/dashboard url,但是当我在 resources/routes/web.php 中定义路由时,它会根据需要进行路由和授权。

有什么我做错了吗,或者我需要检查什么?

---更新---下面是我的 ServiceProvider 类的一个片段

应用程序/配置/app.php

php artisan route 的输出

在此处输入图像描述

0 投票
1 回答
940 浏览

laravel - 在 Laravel 5.3 基本认证中注册后运行函数

默认情况下,Laravel 5.3 注册后自动登录用户。我需要在用户自动登录后获取用户 ID 的建议,然后在没有重定向的情况下运行功能。我该怎么做?

0 投票
1 回答
665 浏览

php - Laravel 5.3 路由一个 url 2 个控制器中间件

我正在尝试为具有相同 URI 的授权用户(中间件身份验证)和来宾(中间件来宾)使用不同的控制器,但我无法让它在 laravel 5.3 中工作。

我尝试使用相同的 URI 和不同的中间件创建 2 条路由,但无法使用相同的 URI 创建 2 条路由。

我尝试了很多东西,但在 laravel 5.3 中我不能Auth::check()在路由文件中使用,它总是会返回 false:

我还尝试在路由中使用一个函数:

现在Auth::check()确实大部分工作,但现在控制器__construct函数中的中间件被忽略了。这看起来不太好。

当我从登录重定向到此路由Auth::check()返回 false 时,我也遇到了问题。但是,如果我刷新页面,它会返回 true。

我不想使用 1 个控制器并同时处理该控制器中的用户和来宾,这是因为我的用户控制器扩展了另一个类而不是我的来宾控制器。

有人知道我如何为访客提供 1 条路由,为授权用户使用不同的控制器吗?

0 投票
3 回答
1959 浏览

laravel - Laravel Auth::attempt() 可以处理关系吗?

我在 Laravel 5.3 中使用委托来管理基于角色的权限,并且自然地为不同的用户类型使用手动/自定义登录。是否可以Auth::attempt()处理外部表关系?基本上,我想做这样的事情:

但我不断收到hasRole()未定义函数的错误。我已经包含了use Zizaco\Entrust\Traits\EntrustUserTrait;and use EntrustUserTrait;,我认为它可以让我访问该功能,但显然不是。

我很欣赏这hasRole()是一种用户对象的方法这一事实,并且在检查时我没有用户对象但在尝试成功后我无法进行角色检查,因为那时用户已经登录,并且如果角色错误,我需要将他们注销,因为他们的凭据是正确的,但不适用于角色;这似乎很慢而且不务实。

我应该如何处理这个?是否有替代方法Auth::attempt可以使用,它不会登录用户,但使用指定的输入检查用户是否存在,然后运行角色检查,然后使用另一个函数启动经过身份验证的会话?

如果有用,我的 LoginController 在这里:

任何帮助或方向将不胜感激。谢谢。

0 投票
2 回答
10898 浏览

php - Laravel 5.3 密码代理自定义

有谁知道如何覆盖 laravel 密码代理中使用的功能?我知道文档:

https://laravel.com/docs/5.3/passwords#resetting-views

提供有关如何处理诸如视图和一些表面级别的事情的信息,但实际上根本不清楚,或者我可能没有阅读足够多的时间。

我已经知道如何覆盖ResetsPasswords.phpTrait,但覆盖的Password::broker()是下一层的功能。

如果需要更多信息,我可以提供一些。

先感谢您。

0 投票
1 回答
2206 浏览

php - "未找到查看 [auth.emails.password]。",

我正在尝试在 laravel-api-boilerplate-jwt 中测试 recovry 方法,但是当我使用邮递员并输入电子邮件并将其发布到http://localhost:8000/api/auth/recovery它时返回

有谁知道为什么?我认为我不需要视图,因为这是移动应用程序的 api!还是我需要配置三个才能使其工作?

链接到框架: