使用Identity Server 4保护.NET Framework 4.x Web API

13
我正在使用Identity Server 4进行工作,我知道它现在基于ASP.NET Core,这很好。
但是我有一个Web API应用程序,它是在.NET 4.6.2上的。我想知道如何保护这些API。或者是否可能?或者我应该将我的Web API更改为ASP.NET Core?
我到处搜索,但所有示例都是基于ASP.NET Core的。

1
我遇到了同样的问题,好问题 ;) - Amir Pournasserian
1个回答

6

Identity Server 4不关心客户端是什么。如果你想的话,你可以使用控制台应用程序测试ID4,对吗?

你看,归根结底,所有ID4基本上都是一个REST Web API,使用Open ID Connect/oAuth2协议在HTTP协议之上有一些众所周知的终点。只需查看这里具有控制台客户端的示例以更深入地了解如何设置客户端:https://github.com/IdentityServer/IdentityServer4.Samples/tree/dev/Clients

因此,你的客户端恰好是Web API net462并不重要。您所要做的就是向托管ID4的URL发送请求。也许可以研究Katana的Open ID Connect中间件,以使事情更容易: https://leastprivilege.com/2014/06/12/using-discovery-and-katana-middleware-to-write-an-openid-connect-web-client/。那是创建Identity Server的创作者之一的博客链接。我建议你浏览他的博客以找到更多有用的信息。

更新令牌验证

对于令牌验证,您需要使用令牌端点: http://docs.identityserver.io/en/release/endpoints/token.html。我建议阅读JWT令牌,因为您可以例如查看Katana JWT中间件:http://odetocode.com/blogs/scott/archive/2015/01/15/using-json-web-tokens-with-katana-and-webapi.aspx


嗨Danny,感谢你的完整回答。正如你所说,客户端不是问题,我的客户端是Android和iOS应用程序,我的访问令牌服务器是ASP.NET Core Identity Server 4,我有一个使用Net426的API。我想在我的API应用程序中使用AccessTokenValidation,这就是我的问题。 - Pouya Samie
1
一些辅助URL现在是404。 - SSD
https://github.com/IdentityServer/IdentityServer4.Samples/tree/dev/Clients. 不再可用。 - Mariusz

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接