2013-12-23 3 views
1

웹 API 데이터 서비스를 만들고 있습니다. 나는 asp.net 웹 사이트의 서비스뿐만 아니라 장치 (iOS, Windows Phone, Android) 용 앱을 사용하고 싶습니다.웹 사이트 및 장치에 대한 웹 API 서비스 인증

어떤 인증 기법을 사용해야합니까? 내가 읽었을 때 암호화 된 무기명 토큰이 좋은 방법이라는 것을 알았습니다.

웹 사이트에서 ID를 웹 API 서비스로 전파하는 방법을 이해할 수 없습니까? (보통 mvc 기반 웹 사이트에 내장 된 인증이 있기 때문에!)

OWIN 기반 인증 모듈에 인증을 위임하는 방법을 알았습니다 ... 전체 사진을 잘 모르겠습니다. 기술은 안으로 적합합니다.

누군가는 완전한 그림, 저에게 이것을 어떻게 설명해 주실 수 있습니까?

답변

2

신원 전파는 간단합니다. 장치 응용 프로그램은 로그인 페이지 자동화를 사용하거나 자체 로그인 인터페이스를 제공하여 토큰을 얻은 다음 연속 요청에서 토큰을 사용합니다.

내가 추천하는 것은 OAuth2 플로우를 중심으로 인증을 구축하는 것입니다. 당신이 흥미를 가질 수있는 4 가지 흐름 중 3 가지가 있습니다.

인증 코드 흐름은 수동 클라이언트 (다른 ​​웹 응용 프로그램)에 대한 것입니다. 인증 서버는 응용 프로그램 (리소스 서버)이 베어러 토큰을 교환하기 위해 사용하는 일회성 코드를 반환합니다.

토큰 흐름은 인증 서버에서 로그인 UI에 액세스 할 수있는 활성 클라이언트 (예 : javascript 클라이언트)입니다.

리소스 소유자 흐름을 사용하면 모바일 애플리케이션이 사용자 정의 로그인을 호스팅 할 수있는 토큰에 대한 사용자 이름/비밀번호를 교환 할 수 있습니다.

http://aaronparecki.com/articles/2012/07/29/1/oauth2-simplified

은 실제로 모든 가능한 흐름은 고객에게 통합에 관한 많은 유연성을 제공합니다. 프로토콜의 공개 특성으로 인해 모든 기술 스택에 구축 된 클라이언트는 인증 서비스를 사용할 수 있습니다.

이 경로를 따르고 DotnetOpenAuth를 사용하면 예 토큰은 사용자 세션에 암호화 된 정보를 전달하므로 영구 토큰 리포지토리가 필요 없습니다.

+0

설명해 주셔서 감사합니다. 나는이 기사를 읽고 DotnetOpenAuth를 살펴볼 것이다. – CodeWeed