1

.NET 회원 및 양식 인증을 사용하는 여러 가지 기존 .NET Framework 웹 응용 프로그램이 있습니다. 그들은 각각 자신의 로그인 페이지를 가지고 있지만 모두 동일한 도메인 (예 : .mycompany.com)에 있으며, ASP.NET 멤버십 데이터베이스를 공유하고 서로의 쿠키를 인식하여 SSO를 달성 할 수 있도록 컴퓨터 키를 공유합니다. 즉 한 앱에 로그인하면 모두 로그 아웃되며 로그 아웃과 동일합니다.Identity Server를 사용하여 SSO를 구현하는 방법은 무엇입니까?

이제 앞으로의 모든 응용 프로그램을 .NET Core에서 개발하고 중앙 집중식 인증 메커니즘으로 공통 Identity Server를 사용하고 싶습니다. .NET Core 클라이언트 응용 프로그램의 몇 가지 다른 맛뿐만 아니라 간단한 Identity Server를 설치하여 실행할 수 있습니다. 이 모든 것이 훌륭하게 작동합니다. 극복 할 수없는 장애물은 모든 mycompany.com 앱 중 SSO입니다. Brock Allen은 고객 샘플에서 영감을 얻기 위해 here을 추천했습니다.

MVC OWIN 클라이언트 (암시 적) 샘플은 저에게 가장 많은 도움을줍니다. OWIN 쿠키 인증과 OIDC를 사용하기 위해 레거시 애플리케이션을 포팅 할 수 있지만 실제로는 SSO가 아닙니다. 현재 app1.thirdparty.com에 로그인하면 인증을 위해 identityserver.mycompany.com으로 리디렉션됩니다. identityserver.mycompany.com에 로그인 한 후 app1.thirdparty.com에 액세스 할 수있게되었지만 mycompany.com 앱마다 동일한 프로세스를 수행해야합니다. 이미 identityserver.mycompany.com으로 설정된 세션이 있기 때문에 매번 자격 증명을 입력 할 필요가 없습니다. 공식적으로 로그인하기 전에 각 앱으로 이동하여 로그인 버튼을 클릭해야합니다. identityserver.mycompany.com에 로그인하면 mycompany.com 도메인 내의 다른 모든 응용 프로그램으로 SSO를 시작하는 것이 좋습니다. 마찬가지로 mycompany.com 응용 프로그램에 이미 로그인 한 경우 identityserver.mycompany.com에서이를 인식하고 내 자격 증명을 다시 입력하지 않아도됩니다.

이것이 가능합니까? 나는 그것에 대해 어떻게 갈 것인가?

답변

2

This article 내가 원하는 정보를 정확하게 가지고 있습니다. Microsoft.Owin.Security.Interop은이 작업을 수행하는 데 필요한 심을 제공합니다.

관련 문제