2014-12-24 2 views
2

asp.net MVC 응용 프로그램이 있습니다. SSO Windows 인증을 만들고 싶습니다. IdP 및 SP로 Ping Federate를 사용합니다. 사이트에 들어가면 자격 증명을 입력 한 후 SSO 페이지로 리디렉션됩니다. 그러면 SAML이 SP에 게시되고 SP가 사이트로 리디렉션됩니다.ping federate asp.net 구성 saml sso

문제점 내 앱 사용자가 인증되었는지를 인식하고 다시 이미 다시 상기 사용자를 인증 SP으로 SAML을 게시하고 무한 루프가있는 SSO 페이지로 리디렉션되지. 내가 무엇이 누락 되었습니까? web.config 파일에서 뭔가를 변경해야합니까?

이 내가하는 어댑터 유형에 당신이 당신의 SP 측에 사용하는 따라 Web.config의

<authentication mode="Windows"> 
</authentication> 
<identity impersonate="true" /> 
+0

왜 가장을 사용하고 있습니까?? – MethodMan

+0

Ping Federate로 이동하기 전에 필자는 ... –

+0

'가장 (impersonation)은 성능과 확장에 큰 영향을 미칠 수 있습니다. 일반적으로 전화를 걸기보다는 클라이언트를 가장하는 것이 더 비쌉니다.'SSO'를 사용한다면 인증과 자격이 그 특정 사용자의 것이 될 것으로 기대합니다 .. PrincipalContext와 AD에 익숙합니까? 인증과 관련하여 통합하기 – MethodMan

답변

3

에있을 것입니다, 나는 그것을 위해 적절한 장비를 사용하는 것이 좋습니다 것입니다. OpenToken 키트, 에이전트없는 키트 등

이전에 같은 문제가 있었으므로 애플리케이션에서 플로우를 완료하고 응답에 쿠키를 작성해야합니다. 이것은 사용중인 어댑터에 따라 다르지만 끝은 동일합니다.

OpenToken 어댑터을 사용하는 경우 쿼리 문자열이나 양식 게시로 공개 토큰을 받아야합니다. OpenToken 에이전트 키트로 해당 토큰을 열어야합니다. 일단 그렇게하면 내부에 "속성"또는 "클레임"이있는 것을 확인한 다음 응답에 쿠키를 작성하고 해당 쿠키를 사용하여 세션을 시작해야합니다.

에이전트없는 어댑터을 사용하는 경우 쿼리 문자열이나 양식 게시로 REF ID를 받게됩니다. 해당 REF ID를 가져와 PingFederate의 Pickup Endpoint를 호출해야합니다. 이 호출은 클레임을 반환 할 것이므로 쿠키를 다시 작성하고 세션을 시작해야합니다.

과거에 저는이를 위해 HTTPModule을 코딩했으며 WS-Federation 기능을 사용하여 쿠키를 작성했습니다. 결국이 사이트는 핑 (Ping)으로 인증하지만 WS- 페더레이션 (Session Federation) 기능을 사용하는 WIF 쿠키를 읽으면 세션을 계속 유지할 수 있습니다.

그러나 새로운 표준이며 SP 어댑터가 필요없는 OpenIdConnect/OAuth2로 이전했습니다.

PingFederate에서 OAuth2/OpenIdConnect 모듈이 활성화되어있는 한 모든 것을 처리하는 OWIN 용 클라이언트를 출시했습니다.

이동하는 경우 여기 링크가 있습니다. https://www.nuget.org/packages/Owin.Security.Providers.PingFederate

관련 문제