3

Microsoft MVC4 Web API를 사용하여 만들고 WS-Fed를 사용하는 WIF 및 Windows Azure Active Directory (WAAD)를 사용하여 보호되는 여러 웹 서비스가 있습니다.Windows Azure Active Directory에서 인증 토큰을 얻는 데 필요한 javascript 라이브러리가 있습니까

이 웹 API에 액세스해야하는 순수 HTML5/자바 스크립트 단일 페이지 응용 프로그램 (SPA) 클라이언트도 있습니다.

이 알려진 샘플이 있습니까/

  • 에 WAAD과의 상호 작용을 처리하기위한 자바 스크립트 라이브러리는 사용자가 이미 사용자의
  • 로그인합니다. 로그인 및
  • 을 필요한 경우 보안 토큰을 얻을 수있다 판단되는 경우
  • 상호 작용이 완료되면 로그 아웃합니다.

그렇지 않은 경우 해당 사항을 구현하는 데 필요한 설명서에 대한 권장 링크가 있습니까?

+0

OAuth 2.0을 사용하는 인증을위한 자바 스크립트 라이브러리가 있는데, 아는 ACS는 없습니다. – letsc

답변

3

페이지 (SPA)는 API가 호스팅되는 동일한 서버에서 제공됩니까? (동일한 도메인?) 그렇다면 모든 것이 "잘 작동"해야합니다.

WAAD는 사용자가 로그온했는지 여부를 알지 못합니다. 일반적으로 사이트에 달려 있어야합니다. 토큰 만료는 역할을하지만, 제공된 토큰이 API에 의해 거부되면 평소와 같이 사용자를 다시 인증해야합니다.

API가 다른 사이트이지만 동일한 하이 레벨 도메인 (app.yoursite.com 및 api.yoursite.com)에있는 경우에도 쿠키를 설정하고 그 아래에 WIF를 사용할 수 있습니다. 두 사이트에서 동일한 컴퓨터 키를 설정해야합니다.

API가 완전히 다른 도메인에 있으면 다른 접근 방식을 사용해야합니다. 이 경우 제 추천은 대개 Json Web Token (JWT)과 CORS를 사용하는 것입니다.

WAAD 인스턴스에 ACS 네임 스페이스를 구성하면 WAAD가 JWT를 줄 수 있다고 생각합니다. JWT를 사용하여 WebAPI를 보호하는 프로세스를 설명하는 this document을 살펴보십시오 (WAAD에만 국한되지는 않지만 메커니즘은 동일합니다).

+0

자바 스크립트에서만 JWT 및 CORS 방식을 사용할 수 있습니까? – BMH

+0

예, 가능합니다. 이 게시물은 도움이 될 수 있습니다. http://blog.auth0.com/2014/01/07/angularjs-authentication-with-cookies-vs-token/ –

+0

2014 년 이후로이 공간에서 무슨 일이 일어 났습니까? 순수 자바 스크립트를 사용하여 인증 할 수 있습니까? –