2014-01-22 2 views
1

자바 스크립트 (서버 측 언어 없음)를 기반으로하는 내 응용 프로그램에 싱글 사인온을 찾고 있습니다.ADFS로 단일 로그온

요구 사항 :

  1. 에이전트는
  2. AD에 윈도우에 로그인 한 사람을 기준으로, 내 응용 프로그램이 간다
  3. 내 웹 페이지를 엽니 다 (Active Directory에 통합 된 사용자) Windows에 로그인하고 일부를 당겨 사용자 데이터 지정 (예 : 이메일, 전화)

어떻게해야합니까?

내 이해에 따라 ADFS가 필요합니다. 그래서 :

  1. 사용자는 내 웹 페이지로 이동

    내 웹 페이지가 일부 웹 서비스 또는

  2. 의 AD FS에 대해 인증합니다

    및 (C#을 구축입니다) 웹 응용 프로그램을 호출

  3. 환불 요청

  4. 청구서에 전화 번호와 이메일을 보내거나 사용자 이름을 얻고 전화 및 이메일로 AD를 문의하십시오.

그것은 나의 이해에 문제가있는 것 같습니다 (자바 스크립트 구축) 내 웹 페이지에 데이터를 반환!

나는 그것이 서버 측 처리없이 작동 할 수있는 방법을 생각할 수 없다,

+0

내가 서버에 의존 여기에 보안의 대부분을 믿습니다. 그것 없이는 이것이 가능하지 않을 수도 있습니다. 그것이 사실이라 할지라도, 모든 보안 클라이언트 측을 처리하려고 시도하는 것이 이상하게 보입니다. 그것은 나에게 약하다. 특히 서버 측 언어를 사용하고 싶지 않은 이유가 있습니까? – Kulahan

답변

3

솔직히 내 요구 사항에 따라 더 적합한 솔루션을 제안 해주십시오. 이는 ADFS가 사용하는 ws-federation 프로토콜이 클레임을 반환하는 데 그치지 않기 때문입니다.

SAML 토큰입니다. 토큰에는 클레임이 있지만 가장 중요한 점은 XMLDsig를 사용하여 으로 서명되어 있다는 점입니다. 토큰의 유효성을 검사하려면 어떻게해야할까요? 그러나이를 가능하게하는 외부 라이브러리가 있습니다.

그런 다음 브라우저에서 스크립트를 수정하여 이러한 인증을 쉽게 우회 할 수 있습니다. 이는 ws- 연합이 토큰을 얻은 곳에서 멈추고 실제 신원에 대한 토큰을 교환하는 것은 당신에게 달려 있기 때문입니다. 그리고 이것은 클라이언트 측에서만 처리 될 때 작동하지 않습니다.

3

ADFS 3은 옵션 인 OAuth2 암시 적 프로필을 지원하지 않지만 세션 고정을 피하기 위해 서버의 토큰을 확인해야합니다.

할 수 있습니다 http://leastprivilege.com/2013/09/19/adding-oauth2-to-adfs-and-thus-bridging-the-gap-between-modern-applications-and-enterprise-back-ends/

또 다른 옵션은 Auth0 같은 것을 사용하는 것입니다 OAuth2를/오픈 ID 내재적 연결 프로필을 지원 AuthorizationServer 같은 설정 뭔가 : 또한 OAuth2를/오픈 ID 연결 implciit 프로파일을 지원 (면책 조항 내가 Auth0 작동이).이 경우 ADFS가 필요 없으며 네트워크에 설치하는 커넥터/에이전트가있어 방화벽을 열 필요가 없으며 JavaScript 응용 프로그램에 적합한 암시 적 프로파일을 지원합니다. 이것은 (계정을 만들 경우 귀하의 자격 증명을 사용하여 문서를 맞게됩니다) 단일 페이지 응용 프로그램의 튜토리얼의 예입니다

https://docs.auth0.com/singlepageapp-tutorial