2015-02-05 2 views
0

enter image description hereAsp.net 웹 API 및 웹 MVC 인증 로직

이것은 내 응용 프로그램 구조입니다. MVC 웹 사이트 및 API가 데이터 계층에서 데이터를 가져 오는 중입니다. WEB API는 json 데이터를 서비스로 제공합니다. 하지만 WEB API에서 일부 데이터 액세스를 제한하려고합니다.

MVC 웹 사이트에 사용자 인증 메커니즘이 있습니다. 하지만 지금은 웹 API 응용 프로그램에서 동일한 메커니즘을 만들어야합니까? 이것은 나 자신의 반복이다.

시스템과 같이 작동하는 방식이 궁금합니다. 예를 들어 트위터 또는 싱글 로그인을 좋아하는 구글과 웹 사이트 및 API 작업. 아니면 어떤 방법이 있습니까?

+0

당신은 자신의 단일 로그인 메커니즘을 만들 수 있습니다. 이 링크 http://www.codeproject.com/Articles/630986/Cross-Platform-Authentication-With-ASP-NET-Web-API –

+0

다음을 참조하십시오. https : //identityserver.github. io/Documentation / –

답변

0

이것은 일반적으로 토큰 기반 인증을 사용하여 수행됩니다. MVC 응용 프로그램은 ID 공급자 (Google 또는 Facebook과 같은 소셜 아이디 공급자이거나 고유 한 사용자 이름/암호 데이터베이스가있는 서비스)와 연결된 보안 토큰 서비스 (STS)에 대해 사용자를 인증합니다. STS는 해당 사용자가 응용 프로그램을 사용하기위한 보안 토큰을 발급합니다. 토큰은 디지털 서명되어 있으므로 위조 할 수 없습니다.

이제 응용 프로그램이 웹 서비스를 호출하려는 경우 응용 프로그램은 토큰을 다시 STS로 가져 와서 서비스에 대한 새 토큰을 요청합니다. 이 토큰은 종종 웹 API에 대한 HTTP 요청의 권한 부여 HTTP 헤더를 사용할 수있는 JWT 토큰의 형태로 제공됩니다.

호출중인 서비스가 STS에서 발급 한 토큰을 신뢰하도록 구성되었습니다. 토큰이 알고있는 STS에 의해 발급되었는지, 토큰이 해당 서비스를 위해 의도되었는지, 올바른 시간 범위 내에 있는지 등을 확인함으로써이를 수행합니다.

또한 this question을 참조하십시오.