.net MVC 重定向与 JWT 令牌

Posted

技术标签:

【中文标题】.net MVC 重定向与 JWT 令牌【英文标题】:.net MVC Redirect with JWT Token 【发布时间】:2021-11-19 21:22:41 【问题描述】:

我在 .net 框架中有一个 MVC 应用程序。我希望控制器重定向到外部 URL(.net 核心中不同项目内的控制器),传递 JWT 令牌。这可能吗?

我目前尝试使用 RedirectResult 重定向到外部控制器。

我不知道它是否适用于 cookie,因为每个应用程序都位于不同的域中。 我可以在重定向到另一个应用程序中的控制器的重定向中附加这个 JWT 令牌吗?

【问题讨论】:

【参考方案1】:

有几个选项:

使用cookies。如果您要重定向到同一个域(或我认为是子域),这将起作用,但如果您要跨域重定向,则不会。 使用您的控制器代理整个请求。您的服务器不是重定向,而是发出请求,添加您需要进行身份验证的任何额外标头。这可能是最适合您的选项,但请注意,它会增加服务器的额外负载。 在重定向 url 中包含 jwt 作为查询参数。这仅在您重定向到的 url 将检查查询参数时才有效。 这也让 jwt 非常不安全,所以如果你除了这个选项别无选择,请确保你给 jwt 一个 very 短的生命周期,即一分钟,并限制它到您希望用户使用它的确切操作/端点。

【讨论】:

以上是关于.net MVC 重定向与 JWT 令牌的主要内容,如果未能解决你的问题,请参考以下文章

如果刷新(JWT)令牌未经授权(401响应),AngularJS重定向到登录

OAuth提供者重定向后如何给用户JWT令牌?

如何存储 jwt 令牌以便重定向到其他子域不需要凭据

重定向后如何管理 JWT?

JWT 授权重定向到登录

在 JWT 刷新时出现 401 时重定向