使用System.IdentityModel.Tokens.Jwt

时间:2019-02-27 11:13:36

标签: c# authentication asp.net-web-api jwt

我正在尝试使用System.IdentityModel.Tokens.Jwt和Identity在Web API中实现基于JWT令牌的身份验证。

我正在关注this

Web.config

<appSettings>
    <add key="issuer" value="http://localhost/" />
    <add key="secret" value="IxrAjDoa2FqElO7IhrSrUJELhUckePEPVpaePlS_Xaw" />
</appSettings>

尽管我能够成功地通过身份验证来实现和运行该应用程序,但是我不确定这些设置的目的是什么。我在发卡行中给出的内容仍然可以按预期运行。有人可以提供一些有关发行人和秘密的见解吗?

我正在使用邮递员来测试令牌和API

1 个答案:

答案 0 :(得分:1)

他在您与教程(Create a RESTful API with authentication using Web API and Jwt)相同的站点上谈到了这些属性:

  

颁发者-颁发令牌的实体的唯一标识符(请勿与Entity Framework的实体混淆)   秘密-用于保护令牌和防止篡改的密钥

但是要尝试更精确地解释一下: 发行方基本上是服务器或站点,或者是向客户端发行令牌的任何机构。 而秘密是服务器(或其他任何东西)知道的东西。该机密可用于创建签名,以验证消息在途中没有被更改。有关jwt.io JWT Secret的更多信息:

  

要创建签名部分,您必须获取编码的标头,编码的有效载荷,机密,标头中指定的算法,并对其进行签名。

希望这会有所帮助!