꽤 주관적인 질문이며 다양한 장소를 검색했지만 WebApi 인증 작동 방식의 실제 예를 알고 싶습니다.WebApi 인증은 모든 클라이언트에서 어떻게 작동합니까?
프런트 엔드에 AngularJS 응용 프로그램을 사용하고 있으며 이제 WebAPI에 연결해야하지만 다양한 클라이언트가 있습니다. 그렇다면 클라이언트가 WEBAPI에서 인증되는 방법은 무엇입니까
꽤 주관적인 질문이며 다양한 장소를 검색했지만 WebApi 인증 작동 방식의 실제 예를 알고 싶습니다.WebApi 인증은 모든 클라이언트에서 어떻게 작동합니까?
프런트 엔드에 AngularJS 응용 프로그램을 사용하고 있으며 이제 WebAPI에 연결해야하지만 다양한 클라이언트가 있습니다. 그렇다면 클라이언트가 WEBAPI에서 인증되는 방법은 무엇입니까
특정 클라이언트에 허용되는 JWT 토큰을 생성하는 토큰 발급자 역할을하도록 응용 프로그램을 구성 할 수 있습니다.
.Net 예는 Identity Server (https://github.com/IdentityServer/IdentityServer3)입니다. 여기에는 다양한 클라이언트 유형 (https://github.com/IdentityServer/IdentityServer3.Samples/tree/master/source/Clients)을 사용하는 방법을 보여주는 많은 예제가 있습니다.
클라이언트 ID, 인증 유형 및 '리디렉션 URL'로 표시되는 클라이언트를 Identity Server에서 정의합니다. Identity Server는 단일 로그온으로 작동하므로 응용 프로그램이 API에 액세스해야 할 때 OpenID connect을 사용하여 Identity Server로 리디렉션합니다. 성공적으로 로그인하면 Identity Server는 클라이언트 ID에 대해 등록한 '리디렉션 URL'로 리디렉션하여 해시 프래그먼트의 클라이언트에게 access_token을 다시 보냅니다.
단일 페이지 응용 프로그램에서이 작업을 돕기위한 라이브러리가 있지만, OIDC-client. 액세스 토큰을 받으면 인증 헤더를 사용하여 웹 API로 보낼 수 있습니다.
인증 : 베어러 {더 - JWT 토큰}
이 API는 이것을 달성하기 위해 사용할 수 nuget 패키지 중 하나를 사용하여, using JWT Bearer authentication 확보 될 것이다. API는 전달 된 JWT 토큰이 예상 토큰 발급자에 의해 서명되고 관련 대상 사용자 용이며 올바른 권한으로 발급되었는지 확인해야합니다.
JWT 유효성 검사가 통과되면 인증이 성공한 것이므로 토큰에있는 클레임에 따라 권한 결정을 내릴 수 있습니다.
기본 개념 - 발급자로부터 토큰을 획득하고, 인증 헤더를 사용하여 HTTP 요청을 보내고, JWT 인증을 사용하여 API를 잠급니다.
Identity Server와 같은 토큰 발급자를 실행하거나 Azure AAD와 같은 기능을 사용하여이 기능을 제공 할 수 있습니다. AAD를 사용하여 무언가를 얻고 실행하는 것은 매우 간단합니다.
감사합니다. 딜런,이 솔루션을 제공합니다. –
무기명 토큰을 사용하십시오. – rawel
감사합니다 rawel하지만 고객은 어디서나 URL에 액세스 할 수 있습니다. 그럼, webapi 인증 방법. 당신이 나에게 어떤 링크 나 참조를 줄 수 있다면 그것은 –
http://bitoftech.net/2014/06/01/token -base-authentication-asp-net-web-api-2-owin-asp-net-identity/ – rawel