Asp.net core 使用自定义OAuth设置ASP.NET核心的主体

Asp.net core 使用自定义OAuth设置ASP.NET核心的主体,asp.net-core,asp.net-core-webapi,Asp.net Core,Asp.net Core Webapi,我正在尝试使用ASP.NET核心建立一个简单的WebAPI。我正在使用该公司建立的自定义OAuth。webapi将不直接支持网页。前端将使用SPA从单独的网站调用它 因此,我想我应该设置一个中间件组件,从API调用中获取承载令牌。然后,我查看是否存储了该用户(5分钟-存储在singleton中,希望这也是正确的),如果没有,我将向身份验证服务器发送HTTP请求,以确定该用户是否有效。如果是,我将获取用户信息,包括角色等。但是,如何设置主体?我在WebAPI 2.*中做过这项工作,但还没有看到任何

我正在尝试使用ASP.NET核心建立一个简单的
WebAPI
。我正在使用该公司建立的自定义
OAuth
webapi
将不直接支持网页。前端将使用
SPA
从单独的网站调用它

因此,我想我应该设置一个中间件组件,从API调用中获取
承载令牌。然后,我查看是否存储了该用户(5分钟-存储在
singleton
中,希望这也是正确的),如果没有,我将向身份验证服务器发送
HTTP
请求,以确定该用户是否有效。如果是,我将获取用户信息,包括角色等。但是,如何设置
主体
?我在
WebAPI 2.*
中做过这项工作,但还没有看到任何关于
ASP.NET核心的教程

这似乎是一个相当正常的工作流程,所以我不明白为什么没有很多关于这个主题的教程。它们似乎都是为了当你有一个网页时——WebAPI 2也是如此。*


非常感谢您的帮助。如果有人能给我指出正确的方向那就太好了

我认为在调用
app.UseMvc
之前,您需要将
app.UseJwtBearerAuthentication
添加到启动中,以允许api接受承载令牌并配置principal@EricB,那么,我应该将用于验证承载令牌的自定义代码放在哪里?我发现:但是Microsoft.IdentityModel.Tokens.ISecurityTokenValidator上的文档不存在。我已经在中间件中编写了所有代码。但我想把它做好。ASP.NET安全团队已经把一些相对简单的东西变成了一堆难以破译的意大利面代码。我能理解人们为什么跑到Node.js。我喜欢.NET,但伙计,我真的很沮丧这个代码是多么的不可理解。这完全取决于你的自定义代码需要做什么。您需要完成哪些可用中间件/选项无法为您处理的任务?@EricB,看来我终于找到了答案。尽管如此,情况还是比实际需要复杂得多。谢谢你的帮助!我认为在调用
app.UseMvc
之前,您需要将
app.UseJwtBearerAuthentication
添加到启动中,以允许api接受承载令牌并配置principal@EricB,那么,我应该将用于验证承载令牌的自定义代码放在哪里?我发现:但是Microsoft.IdentityModel.Tokens.ISecurityTokenValidator上的文档不存在。我已经在中间件中编写了所有代码。但我想把它做好。ASP.NET安全团队已经把一些相对简单的东西变成了一堆难以破译的意大利面代码。我能理解人们为什么跑到Node.js。我喜欢.NET,但伙计,我真的很沮丧这个代码是多么的不可理解。这完全取决于你的自定义代码需要做什么。您需要完成哪些可用中间件/选项无法为您处理的任务?@EricB,看来我终于找到了答案。尽管如此,情况还是比实际需要复杂得多。谢谢你的帮助!可能重复的