首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ASP.NET标识JWT API令牌的有效负载要求是什么?

ASP.NET标识JWT API令牌的有效负载要求是什么?
EN

Stack Overflow用户
提问于 2017-01-16 18:03:55
回答 1查看 314关注 0票数 1

我有一个ASP.NET Web,它使用ASP.NET标识来管理用户和角色对API的访问。在我的例子中,我试图创建一个JWT令牌,以便外部公司能够到达我的一个端点。我一直试图使用this SO article - Second answer中显示的代码来创建自己的JWT。我的JWT令牌正在正确解码,但不允许访问我的端点,即使我指定了正确的角色。我想知道在有效负载中是否还需要其他信息,因为系统是基于ASP.NET标识的。

以下是我在JWT中包含的有效载荷()

代码语言:javascript
复制
{
  iss: "http://mycompany.com",
  name: "Company Test",
  role: "CompanyTest",
  aud: "<Audience ID of my application>",
  exp: 1485433642
}

下面是一些遗漏了创建的有效负载,这些负载包含在由ASP.NET标识生成的JWT令牌中。我想知道它们是否必不可少,因此必须包括在JWT的有效载荷中。

代码语言:javascript
复制
{
    "nameid": "<user unique identifier here from Identity table>",
    "unique_name": "<Email account of user>",
    "http://schemas.microsoft.com/accesscontrolservice/2010/07/claims/identityprovider": "ASP.NET Identity",
    "AspNet.Identity.SecurityStamp": "<Security stamp column from Identity table>"
}

在尝试创建自己的JWT令牌时,我忽略了这些值,因为I没有将访问绑定到特定帐户。我只是想创建一个长期的令牌,外部公司可以使用,而不必登录。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-01-16 18:30:51

我想出了这个问题的答案,所以我想我应该把它发到这里。您不需要额外的有效载荷对象。原来我遇到的问题是iss:的有效载荷。我已经将它设置为一个生产环境,但正在本地进行测试。一旦我更改了iss: http://localhost:12345,我就能够访问端点,即使用户不在我的ASP.NET标识系统中。

所以我想确认一下..。我所需要的只是负载中的以下数据

代码语言:javascript
复制
{
  iss: "http://localhost:12345",
  name: "Company Test",
  role: "CompanyTest",
  aud: "<Audience ID of my application>",
  exp: 1485433642
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41682453

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档