我正在使用身份服務器4,並且我知道它現在在ASP.NET Core上,並且沒有問題。使用身份服務器4保護.NET Framework 4.x Web API
但我有一個Web API應用程序在.NET 4.6.2上。我想知道如何保護這些API。或者可能呢?或者我應該將我的Web API更改爲ASP.NET Core?
我到處搜索,但所有示例都與ASP.NET核心。
我正在使用身份服務器4,並且我知道它現在在ASP.NET Core上,並且沒有問題。使用身份服務器4保護.NET Framework 4.x Web API
但我有一個Web API應用程序在.NET 4.6.2上。我想知道如何保護這些API。或者可能呢?或者我應該將我的Web API更改爲ASP.NET Core?
我到處搜索,但所有示例都與ASP.NET核心。
Identity Server 4不關心客戶端是什麼。如果你願意,你可以用控制檯應用程序測試ID4,對吧?
當你看到它時,所有的ID4基本上都是一個REST Web API本身,它有一些衆所周知的端點在HTTP協議之上使用Open ID Connect/oAuth2協議。只需在這裏查看控制檯客戶端的示例,以更好地瞭解您希望如何設置客戶端:https://github.com/IdentityServer/IdentityServer4.Samples/tree/dev/Clients。
所以,你的客戶恰好是一個Web API net462並不重要。您只需將請求發送到託管ID4的網址即可。也許看看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。
嗨丹尼和感謝您的完整答案。正如你所說的客戶端沒有問題,我的客戶端是Android和iOS應用程序我的訪問令牌服務器是asp.net核心身份服務器4,我有net426的API。我想在我的api應用程序中使用AccessTokenValidation,這是我的問題。 –
嗨Pouya,沒問題。請參閱我的更新。 –
非常感謝你:) –
我有同樣的問題,很好的問題;) –