【问题标题】:How to authenticate to frontend with jwt from backend?如何使用来自后端的 jwt 对前端进行身份验证?
【发布时间】:2021-07-13 09:10:33
【问题描述】:

我正在尝试实现 jwt 以对我的后端和前端进行身份验证。我有 2 个应用程序(.net core mvc)一个是后端另一个是前端

我发送登录请求,然后我获得访问权和刷新令牌等。这些部分没问题。

问题: 但问题是前端不知道我有来自后端 API 的令牌,这就是为什么还没有在前端创建会话的原因。所以我不能将用户重定向到网站的保护区[授权]

我首先想到的是在我从后端 API 获得访问令牌后,我应该通过 ajax 将其发布到前端控制器。假设“/Account/Login”,这个前端控制器将验证令牌(因为它与后端具有相同的密钥)然后它将为此用户创建会话并从 ajax 调用返回成功。

这种登录流程是否正确?有其他选择吗?

【问题讨论】:

    标签: jwt asp.net-core-mvc asp.net-core-webapi


    【解决方案1】:

    您的用户如何与后端应用交谈?直接还是通过前端应用程序?我假设他们向前端应用程序发出请求,前端与后端对话。在这种情况下,前端可以轻松地为用户创建会话,并将来自后端的令牌与会话相关联。

    如果用户直接与后端应用程序对话,那么我会同意你的想法 - 后端应用程序必须以某种方式通知前端应用程序它现在拥有用户的令牌。

    另一个解决方案是创建一些共享会话机制(有一些现成的解决方案)。您的后端应用程序可以创建一个共享会话并将令牌与其关联,然后前端应用程序可以使用相同的共享会话。

    【讨论】:

    • 感谢您的回复。是的,客户端直接与后端 api 对话。我使用前端只是为了显示数据。在我现在阅读它之前,我从未听说过共享会话。
    猜你喜欢
    • 1970-01-01
    • 2021-01-19
    • 2019-01-09
    • 1970-01-01
    • 2020-05-11
    • 1970-01-01
    • 1970-01-01
    • 2019-07-09
    • 1970-01-01
    相关资源
    最近更新 更多