【问题标题】:Authenticating Angular Universal With JWT使用 JWT 对 Angular Universal 进行身份验证
【发布时间】:2021-05-17 19:12:22
【问题描述】:

我有一个 Angular 10 Universal 项目,它使用从 localhost 检索到的 JWT 来验证私有路由的请求。

我目前将此项目用于身份验证过程: https://www.npmjs.com/package/@auth0/angular-jwt

我认为 Angular Universal 面临的问题是,在呈现需要身份验证的页面时,我的请求无法从 localStorage 检索 JWT 令牌。请注意,这就是我认为的问题所在,因为我在这些请求上得到了未经授权的 401,并且已经阅读了一些内容。

有没有办法使用用户登录网站时返回的 JWT 令牌来验证这些请求?

后端是 .Net Core 2.1

【问题讨论】:

    标签: node.js angular jwt server-side-rendering angular-universal


    【解决方案1】:

    JWT收到后可以保存到cookies吗?在这种情况下,JWT 将与请求一起发送,因此可以在服务器端进行处理。 另外,我认为用安全标志设置这个cookie会很好,所以在xss漏洞的情况下不能从js访问它(所以它不能发送到第3方服务)

    【讨论】:

    • 是的。我试图避免使用 cookie,但我想我可以。如何使用 Universal 将其添加到正确的 Header?你知道吗?
    • 您是说在授权后将生成的 jwt 传递到前台还是将收到的较早的 jwt 从前台发送到服务器?
    • 我需要从 Angular Universal 渲染器向我的 API 发送一个经过身份验证的请求,因此从前端到后端的请求需要获取带有令牌的标头。前端从 API 发送的对象中获取它。
    • 如果我理解正确,例如,您可以使用 ngx-cookie github.com/salemdar/ngx-cookie#-server-side-rendering 使用 CookieService 从前端发送 jwt,然后您可以借助 http 拦截器将其传递到后端将从 cookieservice 获取值并将其附加到 headers
    • 您好,抱歉,我发现了我的问题。把那个 Github 链接放在你的答案中?如果你这样做,我会接受它作为正确答案,因为我相信它会以另一种方式解决我的问题。谢谢!
    猜你喜欢
    • 2017-11-25
    • 2016-04-07
    • 2018-07-03
    • 1970-01-01
    • 2023-03-27
    • 2021-05-29
    • 2017-07-30
    • 2018-06-30
    • 2018-08-03
    相关资源
    最近更新 更多