问题标签 [auth-guard]

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 回答
453 浏览

angular - Angular 中的 AuthGuard 回调后重定向

我有两条需要 Angular 的路线canActivate: [AuthGuard]

如您所见,如果用户未登录,他将被重定向到/login我的路由AuthGuard

我的login 组件如下,

PROBLEM

现在,除了一件事之外,一切都运行良好。认为

  • 我从开始/home并单击/projects并登录,登录后我被重定向到/projects。(这里没问题)
  • 我从开始/home并单击/projects/sjcl并登录,登录后我被重定向到/projects/sjcl。(这里没问题)
  • 我从单击开始/home/projects然后单击/projects/sjcl并登录,登录后我被重定向到/projects,而我应该被重定向到/projects/sjcl(这里的问题)

事情是,

如果 LoginComponent 已经加载并从另一个Authguard. 我尝试使用不同的生命周期,甚至将它放在构造函数上仍然没有帮助。

每次加载 LoginComponent 时应该如何调用上面的代码片段?

0 投票
2 回答
258 浏览

firebase - 未创建任何 Firebase 应用“[DEFAULT]”- 调用 Firebase App.initializeApp()

在我的项目中实施 authGuard 之前,一切正常。但是,似乎 authguard 抛出了一个错误。

我从页面中删除了 authguard 并且它正在工作。但随后再次将其添加回来给出了错误。

App.routing.module.ts

auth.guard.ts

app.module.ts

主页.html

所以,当我点击“教师”时,它应该把我带到教师页面而不是崩溃页面。

0 投票
1 回答
2778 浏览

angularfire - 具有多个条件的 AngularFireAuthGuard

我正在开发一个使用 AngularFire 的 Ionic 项目。应用程序有两个主要特点。

  • 特点 1. 要求用户创建帐户并登录。
  • 特点 2. 不需要帐户或登录。

我正在使用带有“redirectUnauthorizedToLogin”管道的 AngularFireAuthGuard 来控制路由。

这两个功能都与 FireStore 交互。由于安全原因,我想实现 Firebase 匿名登录。因此,对于功能 2,我可以控制谁可以写入 db 而无需所有人的许可。同时,功能 1仍然需要一个帐户。

问题来了,因为我找不到向功能 1保护添加两个条件的方法,例如

据我所知,redirectUnauthorizedToLogin 将匿名登录计为授权。

我查看了官方文档,发现有一个“IsNotAnonymous”内置管道,但它只被引用一次,我找不到它的任何其他用法。

我希望有人可以帮助我解决这个问题。

提前致谢,

0 投票
2 回答
1081 浏览

angular - CanActivate 守卫在初始加载时重定向到/,路由器出口不呈现

我有一个带有 AuthGuard 的 SPA。如果使用未记录页面重定向错误页面,则重定向特定路由。现在。

  1. 用户未登录
  2. 呼叫/dashboardAuthgurad重定向/error?returnUrl=/dashboard
  3. 用户呼叫/login?key=112233
  4. 登录页面订阅AuthService并创建用户令牌和重定向/dashboard
  5. 在渲染/dashboard触发之前 AuthGuard 和 AuthGurad 让他们一切都很好
  6. /dashboard正常渲染
  7. 用户想要导航/claim/search page
  8. 路由器更改页面 URL 但router-outlet不呈现重定向的组件
  9. 如果用户刷新窗口浏览器页面正常工作,否则SPA不工作

我在步骤 8,9 中的问题

我的路线:

登录页面:

认证服务:

认证卫士

0 投票
1 回答
1814 浏览

javascript - 使用 Angular8 中的 API 验证令牌 canActivate AuthGuard 方法

我想对某些路由的每个刷新请求进行一些验证。所以我正在使用 Angular AuthGuard。问题在于canActivate我想使用在线 API 执行验证的方法。

API/token/verify只是简单地获取token变量(jwt)并验证它是真还是假。然后,如果验证未完成,则将路由到/login页面,否则执行其余操作。

这是代码:

verifyToken方法是这样的:

问题promise调用不起作用并将通过。我的意思是从本地存储检查它的第一部分工作正常。但是下一部分用在线 API 检查它是行不通的。并且authGuard不等待它的响应来进行路由。

我想它应该以某种async/await方式。但是我做了一些测试,但都没有奏效。如果有人可以帮助我,我会很高兴。

0 投票
1 回答
595 浏览

angular - 如何在 Ionic 4 中使用 POST REST API 实现忘记密码?

Ionic 4:如何使用 POST 方法实现忘记密码功能:REST API?

我已经使用 REST API 检查了用户并且它已经过验证,但我不确定如何发送经过验证的用户的电子邮件和新密码,以及新密码和更新密码等 2 个字段。

注意:如果我的问题不清楚,请建议我忘记密码 API

这是更新密码的 API: 方法:POST

网址: https ://www.abcd.com/updatePassword

要求:

失败:

成功:

0 投票
1 回答
5538 浏览

javascript - Angular Route Guard - 未正确重定向到登录页面

我正在使用可以激活防护和带有 JWT 的节点服务器。正常运行期间的路由运行良好。但是,当令牌过期并且页面仍然存在于浏览器中时,我可以在 Angular 应用程序中单击,尽管不存在 API 数据。我已经检查了几次我的设置,它看起来正确,但是,由于某种原因,当令牌不存在或过期时,它不会重定向到登录。

----- 身份验证服务

----- 授权服务

----- 基本路线

----- 用户服务注销方法

一切似乎都是正确的。用户从 API 获取令牌,进入本地存储。在每条路线上,都会读取令牌并检查日期,如果仍未过期,则返回 true,路线良好。如果令牌过期,那么我会调用用户服务和注销方法。该方法销毁令牌,删除 currentUser 属性并将人员导航到登录页面。该登录页面重定向没有发生。

如果我在时间过去并且令牌过期后回到页面,那么,我不应该能够在角度页面之间导航,但由于某种原因,我

任何帮助表示赞赏,谢谢!

0 投票
0 回答
867 浏览

javascript - Angular 8 - AuthGuard 禁止通过点击访问 routerLinks

我正在将 AuthGuard 与 firebase 一起使用,并且在限制对选定路由的访问方面一切正常,除了 routerLinks 本身即使在经过身份验证后也会通过点击“禁用”。但是当我直接通过 URL 访问它们时,我可以访问这些路由。谁能帮我这个?

auth.guard.ts

应用程序路由.module.ts

登录组件.ts

另请注意,this.router.navigate(['/']);有时不起作用,这真的很奇怪,让我认为这是某种错误。

这是示例 routerLinks 的 navbar.component.html

单击时的路由器事件 在此处输入图像描述 在此处输入图像描述

0 投票
1 回答
429 浏览

laravel-6 - 使用管理员保护成功登录后没有身份验证值

有人可以帮我理解我做错了什么吗?

这是我的config/auth.php文件

这是我用于管理员登录的 LoginController

这是我的路线 web.php

这是我成功登录 ColorController.php 后点击的控制器

这是我的 RedirectIfAuthenticated 中间件

我可以成功登录,但是当我redirect()->intended() 或 redirect()->to() 时,Auth::guard('admin')不存储任何值。我想不通。我正在使用 laravel 6.9.0 并且不知道为什么这不起作用,我做错了什么。提前谢谢..!

0 投票
0 回答
1246 浏览

auth0 - 登录后的 Angular Auth0 安全身份验证保护页面在重定向后不显示

我第一次使用 Angular 测试 Auth0 并遇到了问题。我让我的用户通过 Auth0 登录,在他们登录后,我将他们重定向到受 Auth0 保护的仪表板页面。我已设法重定向用户,但在他们登录后,URL 显示用户在仪表板路线上,但他们看不到实际的仪表板内容。我试图查看发生了什么,我认为问题在于用户已登录,但 auth guard 布尔值从未设置为 true,这使我的程序不断刷新 URL。当我将身份验证防护从路由中移除时,重定向会起作用并显示内容。我玩过代码,希望能弄明白,但到目前为止还没有运气。

如果我必须分享更多代码,我将分享我的代码,请告诉我。

app.module.ts

auth.guard.ts

auth.services.spec.ts

auth.service.ts

我正在使用 Angular 9