2016-12-28 4 views
6

Pracuję z serwerem tożsamości 4 i wiem, że jest on teraz w środowisku ASP.NET Core i jest w porządku.Ochrona interfejsu API platformy .NET 4.x za pomocą serwera tożsamości 4 w

Ale mam aplikację Web API, która jest na .NET 4.6.2. Zastanawiam się, jak można chronić te interfejsy API. Czy to w ogóle możliwe? Czy powinienem zmienić mój web API na ASP.NET Core?

Szukałem wszędzie, ale wszystkie próbki są z rdzeniem ASP.NET.

+1

Mam ten sam problem, świetne pytanie;) –

Odpowiedz

4

Identity Server 4 nie dba o to, kim jest klient. Możesz przetestować ID4 za pomocą aplikacji konsolowej, jeśli chcesz, prawda?

Widzisz, jeśli chodzi o to wszystko, ID4 to w zasadzie sam REST Web API z kilkoma dobrze znanymi punktami końcowymi używającymi protokołu Open ID Connect/oAuth2 na szczycie protokołu HTTP. Wystarczy spojrzeć na próbki z klientami konsoli, aby lepiej zrozumieć, w jaki sposób chcesz skonfigurować klienta: https://github.com/IdentityServer/IdentityServer4.Samples/tree/dev/Clients.

W związku z tym, że Twój klient jest siecią Web API, net462 nie ma znaczenia. Wszystko, co musisz zrobić, to wysyłać żądania do adresów URL hostowanego ID4. Może zajrzyj do oprogramowania pośredniczącego Katana Open ID Connect, aby ułatwić Ci pracę: https://leastprivilege.com/2014/06/12/using-discovery-and-katana-middleware-to-write-an-openid-connect-web-client/. Tak przy okazji jest link do bloga jednego z twórców serwera tożsamości. Proponuję przejrzeć jego bloga, aby znaleźć więcej przydatnych informacji.

Aktualizacja tokena walidacji

Dla tokena walidacji że chcesz token punkt końcowy: http://docs.identityserver.io/en/release/endpoints/token.html. Proponuję przeczytać żetony JWT, ponieważ możesz na przykład spojrzeć na middleware Katana JWT: http://odetocode.com/blogs/scott/archive/2015/01/15/using-json-web-tokens-with-katana-and-webapi.aspx.

+0

Cześć Danny i dzięki za odpowiedź. jak powiedziałeś, klient nie jest problemem, moi klienci to Android i aplikacja ios, mój serwer tokenów dostępu to serwer core asp.net asp.net 4 i mam api z net426. Chcę użyć AccessTokenValidation w mojej aplikacji api i to jest mój problem. –

+0

Cześć Pouya, nie ma problemu. Zobacz moją aktualizację. –

+0

dziękuję bardzo :) –