2013-04-02 2 views
0

2 개의 웹 응용 프로그램을 개발 중입니다. 하나는 WordPress에서, 다른 하나는 Asp.net MVC에서 개발되었습니다. FB, Google ID는 두 응용 프로그램 모두에서 로그인 할 수 있습니다.싱글 사인온 구현

WordPress에서 개발 된 사이트는 사용자가 FB Id를 사용하고 WordPress 사이트의 Iframe에서 내 asp.net mvc 사이트를로드하는 링크를 클릭하여 해당 사이트에 로그인 할 수 있습니다.

사용자가 이미 WordPress 사이트에 로그인 한 상태에서 WordPress 사이트에서 asp.net 사이트로 전달 된 일부 토큰을 사용하여 사용자 인증 및 권한 부여를 원합니다. 현재 암호화 된 URL을 전달 중이고 일부 정보를 전달 중입니다. 확실하지는 않지만 표준/권장 방법입니다.

이 문제를 해결하기위한 표준이 있다고 생각합니다. 나는 그것을 알고 싶다.

답변

0

SAML (Security Assertion Markup Language)은 서로 다른 두 도메인/웹 사이트간에 단일 사인온을 사용하도록 널리 채택 된 기술입니다. http://en.wikipedia.org/wiki/Security_Assertion_Markup_Language에 대한 자세한 정보. 소셜 네트워킹 사이트에서 인기있는 또 다른 기술은 OAUth입니다. http://en.wikipedia.org/wiki/Oauth에 대한 자세한 정보. FB 개발자 페이지에도 OAUth에 대한 훌륭한 정보가 있습니다.

+0

안녕하세요, 대단히 감사합니다. 기본적으로 .net/Asp.net에서 SAML을 구현하는 방법을 알고 싶습니다. –

+0

불행히도 .NET 전문 지식은 제한적입니다. 아마 Google이 도울 수 있을까요? 우리 가게에서는 모든 SAML 관련 작업을 처리하기 위해 제 3 자 제품 (ping 연합)을 사용했습니다. –

1

WP 사용자는 기술적으로 WP로 인증되지 않으며 FB 또는 Google에 인증됩니다. ASP.NET MVC 앱에서 FB 또는 Google 신원을 수락하면 SSO가 "작동합니다"만하면됩니다. WP에서 ASP.NET으로 아무 것도 전달할 필요가 없습니다.

FB와 Google은 약간 다르게 작동하지만 둘 다 OAuth (및 OpenId)를 지원합니다. .NET 응용 프로그램에서 사용할 수있는 하나의 라이브러리는 DotNetOpenAuth (이미 MVC4와 함께 제공됨)입니다. 또는 타사 서비스를 사용하여 Google/FB (및 잠재적으로 다른 사람 : 트위터, 링크 인 등)에 대한 인증을 처리 할 수 ​​있습니다. 이 제 3 자 서비스는 기술적으로 "연맹 제공자"(FP)라고하고 응용 프로그램 및 기타 신원 시스템 간의 브로커는 본질에 있습니다

WP -+   +-> FB 
     |   |  
.NET -+ --> FP --+-> Google 
... |   | 

app3 -+   +-> Others 

이 모델의 장점은 신원 공급자를 변경할 수 있다는 것입니다 나중에 앱에 영향을주지 않고 모든 ID 제공 업체에 앱을 등록 할 필요없이 앱을 추가 할 수 있습니다.

이러한 서비스 중 하나는 Windows Azure Active Directory이며 FB 및 Google과 함께 즉시 사용할 수 있습니다. 다른 하나는 Auth0입니다. (전체 공개 : 이것이 제가 일하는 곳입니다).