【发布时间】:2016-12-16 02:32:18
【问题描述】:
我正在使用 ASP.Net OpenID Connect Server 项目 (ASOS) 为我的 WebAPI 创建和使用 JWT。
我现在正在尝试对令牌执行各种验证。
我想知道如何检查“alg”类型。 我知道可以传入“none”的问题,这意味着有人可以伪造令牌(我不确定是否只是特定的库有问题,或者它是否只是检查的一般好习惯,但如果我执行该检查,我会感觉更安全)。
另外,如何验证 JWT 的完整性?
目前我的令牌发行者和 WebAPI 在同一个项目中,所以我猜它是自动为我检查的?还是根本没有检查?
我的理解是,如果您未指定任何签名凭据,则会在磁盘上为您添加某种签名凭据(不确定我在哪里读到的)。
提供某种签名凭据会自动更新“alg”属性吗?
如果我的令牌颁发者在 1 台服务器上,而我的 WebAPI 在某个完全不同的地方怎么办。我将如何验证令牌来自我的令牌发行者并且没有受到干扰。
大概我必须手动添加证书,然后以某种方式共享公钥? 如果是这种情况,有人可以指出我应该在哪里添加公钥来检查 JWT 完整性吗? 大概这部分更多的是关于 asp.net Core 而不是 OpenIDConnect Server (ASOS)?
谢谢。
【问题讨论】:
标签: asp.net-web-api oauth oauth-2.0 asp.net-core aspnet-contrib