c# - 为 JWT 生成 key ?

标签 c# .net asp.net-web-api2 jwt

目前我有一个用于生成 JWT token 的硬编码 key 。生成 token 时随机生成的最佳方法是什么?另外,我不明白的是,如果 secret 是随机生成的,那么出于身份验证目的, secret 怎么会再次随机生成。我在这里遗漏了什么,或者我对它的工作方式有什么看法?看来, key 甚至不是随机的。例如,我会在 web.config 中存储它吗

最佳答案

只是将@nodd13 的帖子扩展到我已经使用以下(在 LinqPad 中)来随机生成一个 key :

var key = new byte[32];
RNGCryptoServiceProvider.Create().GetBytes(key);
var base64Secret = Convert.ToBase64String(key);
// make safe for url
var urlEncoded = base64Secret.TrimEnd('=').Replace('+', '-').Replace('/', '_');

urlEncoded.Dump();

这确实是随机的,据我所知,您只需要执行一次,然后您就可以将其存储在您的 web.config 中以供以后引用。

关于c# - 为 JWT 生成 key ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44002965/

相关文章:

.net - ClickOnce 部署未按预期安装

c# - 为 WebApi Controller 配置请求超时

c# - 使用最小起订量和 nunit 测试 web api Controller 时如何模拟用户身份?

.net - 私有(private) NuGet 提要和 docker 缓存(Windows)

c# - ProgressBar 在 Windows 窗体中很慢

c# - WPF DataGrid 验证错误?

c# - 将返回值错误报告提升为异常

asp.net-web-api - 使用 web api 在请求正文中使用复杂类型参数获取请求

c# - 在 C# 更新面板刷新后运行 Javascript

c# - 在 "Sources"参数中多次指定项目 X