如何从asp.net-core URI查询参数中提取并验证JWT令牌?

2026-03-30 12:131阅读0评论SEO资讯
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计417个文字,预计阅读时间需要2分钟。

如何从asp.net-core URI查询参数中提取并验证JWT令牌?

我有一个受JWT和Authorize属性保护的API,在客户端我使用jQuery AJAX调用它来处理。这项工作通常,但现在我需要能够安全地下载文件,因此我无法设置标头中的承载值。它可以作为URL参数在URI中完成吗?

我有一个受JWT和Authorize属性保护的api,在客户端我使用 jquery ajax调用来处理它.

这工作正常,但我现在需要能够安全下载文件,所以我不能设置标头承载值,它可以作为url参数在URI中完成吗?

= – = – = – = –

更新:这是我最终为我的场景做的,这是一个内部项目,而且数量非常少但安全性很重要,未来可能需要扩展:

当用户登录时,我生成一个随机下载密钥并将其放入数据库中的用户记录以及其JWT的到期日期,并将下载密钥返回给客户端.如果存在具有下载密钥且该密钥存在于用户记录中并且未到期的查询参数,则下载路由受到保护以仅允许下载.这样,dl密钥对于每个用户是唯一的,只要用户的auth会话有效并且可以容易地撤销,则该密钥有效.

虽然在技术上可以在URL中包含JWT,但强烈建议不要这样做.请参阅 here的引用,这解释了为什么这是一个坏主意:

Don’t pass bearer tokens in page URLs: Bearer tokens SHOULD NOT be passed in page URLs (for example, as query string parameters). Instead, bearer tokens SHOULD be passed in HTTP message headers or message bodies for which confidentiality measures are taken. Browsers, web servers, and other software may not adequately secure URLs in the browser history, web server logs, and other data structures. If bearer tokens are passed in page URLs, attackers might be able to steal them from the history data, logs, or other unsecured locations.

如何从asp.net-core URI查询参数中提取并验证JWT令牌?
标签:AS

本文共计417个文字,预计阅读时间需要2分钟。

如何从asp.net-core URI查询参数中提取并验证JWT令牌?

我有一个受JWT和Authorize属性保护的API,在客户端我使用jQuery AJAX调用它来处理。这项工作通常,但现在我需要能够安全地下载文件,因此我无法设置标头中的承载值。它可以作为URL参数在URI中完成吗?

我有一个受JWT和Authorize属性保护的api,在客户端我使用 jquery ajax调用来处理它.

这工作正常,但我现在需要能够安全下载文件,所以我不能设置标头承载值,它可以作为url参数在URI中完成吗?

= – = – = – = –

更新:这是我最终为我的场景做的,这是一个内部项目,而且数量非常少但安全性很重要,未来可能需要扩展:

当用户登录时,我生成一个随机下载密钥并将其放入数据库中的用户记录以及其JWT的到期日期,并将下载密钥返回给客户端.如果存在具有下载密钥且该密钥存在于用户记录中并且未到期的查询参数,则下载路由受到保护以仅允许下载.这样,dl密钥对于每个用户是唯一的,只要用户的auth会话有效并且可以容易地撤销,则该密钥有效.

虽然在技术上可以在URL中包含JWT,但强烈建议不要这样做.请参阅 here的引用,这解释了为什么这是一个坏主意:

Don’t pass bearer tokens in page URLs: Bearer tokens SHOULD NOT be passed in page URLs (for example, as query string parameters). Instead, bearer tokens SHOULD be passed in HTTP message headers or message bodies for which confidentiality measures are taken. Browsers, web servers, and other software may not adequately secure URLs in the browser history, web server logs, and other data structures. If bearer tokens are passed in page URLs, attackers might be able to steal them from the history data, logs, or other unsecured locations.

如何从asp.net-core URI查询参数中提取并验证JWT令牌?
标签:AS