【问题标题】:JWT Authentication in Web API using System.IdentityModel.Tokens.Jwt使用 System.IdentityModel.Tokens.Jwt 在 Web API 中进行 JWT 身份验证
【发布时间】:2019-07-21 02:22:06
【问题描述】:

我正在尝试使用 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>

虽然我能够通过身份验证成功实现和运行应用程序,但我不确定这些设置的用途。我在发行人中给出的任何内容,应用程序仍然按预期工作。有人可以提供一些关于发行者和秘密的见解吗?

我正在使用 postman 测试令牌和 API

【问题讨论】:

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


    【解决方案1】:

    在您遵循教程 (Create a RESTful API with authentication using Web API and Jwt) 的同一网站上,他谈到了这些属性:

    Issuer - 颁发令牌的实体的唯一标识符(不要与 Entity Framework 的实体混淆) Secret - 用于保护令牌和防止篡改的密钥

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

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

    希望这会有所帮助!

    【讨论】:

      猜你喜欢
      • 2016-12-28
      • 2021-08-19
      • 2016-05-18
      • 2017-07-30
      • 1970-01-01
      • 1970-01-01
      • 2016-04-07
      • 2019-06-11
      • 2017-03-09
      相关资源
      最近更新 更多