【问题标题】:Angular 8 auth guard, proxy token exposes front-end pages?Angular 8 auth guard,代理令牌暴露前端页面?
【发布时间】:2020-05-18 12:39:33
【问题描述】:

我正在学习 Angular 8,一旦我完成了 auth guard 主题。我用令牌测试了角度的授权。但是,如果我在控制台中代理令牌并路由到受保护的组件,它会移动到该组件并公开该组件。我们怎样才能解决这样的问题??后端是安全的,因为它正在验证令牌,所以后端没有问题。有人知道解决方案吗?请在这种情况下帮助我??

【问题讨论】:

  • 代理控制台中的令牌是什么意思?你能在更详细的问题中解释这个问题吗?
  • @AbdulrahmanHashem 只是从控制台将名称设置为本地存储中的令牌...**localStorage.setItem('token','name')**,并在它公开的 url 中插入受保护的路由受保护的组件...
  • 我明白了,请在下面查看我的答案。

标签: angular angular-ui-router bearer-token


【解决方案1】:

通常,当 JWT 随每个请求(在 cookie 或 Authorization 标头中)发回时,签名会在服务器上进行验证。

但是,如果您需要在客户端验证 JWT 以使用其声明,例如,您应该使用私钥/公钥对分别对 JWT 进行签名和验证。

因此,每次您尝试访问该页面或组件时,您的客户端都有公钥来验证 JWT 的签名。

如果它是有效的,那么你是好的。进入该页面。

否则,JWT 令牌已被玩弄。

【讨论】:

  • 好吧,我们如何在使用身份验证保护时保护组件,因为身份验证仅检查是否存在令牌,如果存在则验证该组件,我没有提到您的解决方案。 ..
  • 首先,您需要由您的服务器使用其私钥签署此令牌。之后,您将在客户端(Angular App)中获得服务器公钥。验证已经签名的 JWT。使用公钥的验证过程将返回真或假。如果为 false,则令牌混乱,您不应允许用户访问。否则,令牌是有效的,并且您授予用户访问该页面或组件的权限。
猜你喜欢
  • 2017-04-26
  • 1970-01-01
  • 2018-09-21
  • 2011-12-19
  • 1970-01-01
  • 2017-07-16
  • 1970-01-01
  • 2012-04-26
  • 2020-10-18
相关资源
最近更新 更多