2016-12-28 113 views
6

我正在使用身份服務器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核心。

+1

我有同樣的問題,很好的問題;) –

回答

4

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

+0

嗨丹尼和感謝您的完整答案。正如你所說的客戶端沒有問題,我的客戶端是Android和iOS應用程序我的訪問令牌服務器是asp.net核心身份服務器4,我有net426的API。我想在我的api應用程序中使用AccessTokenValidation,這是我的問題。 –

+0

嗨Pouya,沒問題。請參閱我的更新。 –

+0

非常感謝你:) –