IdentityServer4를 사용하여 Joomla에 대한 SAML Single Sign-On
회사 개요
miniOrange Joomla SAML SP SSO 플러그인은 SAML 2.0 프로토콜을 사용하여 Joomla 사이트를 IdentityServer4 와 통합할 수 있도록 지원합니다 . 사용자 친화적인 이 플러그인은 Joomla에서 IdentityServer4를 사용한 싱글 사인온(SSO) 설정 과정을 간소화하여 안전한 로그인 환경을 제공합니다. 이를 통해 사용자는 IdentityServer4 IDP 자격 증명을 사용하여 다양한 Joomla 사이트에 손쉽게 액세스할 수 있습니다.
저희 플러그인은 Joomla 3, 4, 5 버전과 호환되도록 설계되었으며, 모든 SAML 2.0 규격의 ID 공급자(IDP)와 원활하게 연동됩니다. Joomla SAML SP 플러그인이 제공하는 다양한 기능에 대한 자세한 개요는 해당 웹사이트를 참조하십시오. 아래에서는 IdentityServer4를 ID 공급자(IDP) 로, Joomla를 서비스 공급자 (SP) 로 설정하여 Joomla 사이트 와 Gluu 서버 간의 SAML SSO 로그인을 구성하는 단계별 가이드를 제공합니다.
구성 단계
이 구성에서 IdentityServer4는 사용자 정보를 저장하는 저장소, 즉 IDP(ID 공급자) 역할을 하며, Joomla는 사용자가 IdentityServer4의 자격 증명을 사용하여 로그인하는 곳입니다 . Joomla에는 Joomla SAML SP SSO 플러그인이 설치되어 있습니다.
2단계: IdentityServer4를 IDP(ID 공급자)로 구성
IdentityServer4를 IdP로 구성하려면 다음 단계를 따르세요.
IdP로서의 IdentityServer4
참고 : SAML IDP 기능을 추가하려면 Startup.cs 파일 을 수정해야 합니다.
- . 서비스 구성 메서드, 호출 ID 서버 추가 다음 코드로 업데이트해야 합니다.
services.AddIdentityServer()
// the rest of registrations (clients, resources, users, etc)
.AddSigningCredential(new X509Certificate2(/*your cert*/))
.AddSamlPlugin(options => {
options.Licensee = "/*your license key org name*/";
options.LicenseKey = "/*your license key*/";
})
.AddInMemoryServiceProviders(new List());
- 구성 메소드에서 다음을 호출합니다. 사용IdentityServer 다음 코드를 사용하여 확장해야 합니다.
app.UseIdentityServer()
.UseIdentityServerSamlPlugin();
IdentityServer4를 서비스 공급자로 구성
- . Config.cs 파일 생성 클라이언트 항목.
new Client {
ClientId = "http://localhost:5001/saml",
ClientName = "RSK SAML2P Test Client",
ProtocolType = IdentityServerConstants.ProtocolTypes.Saml2p,
AllowedScopes = { "openid", "profile" }
}
|
클라이언트 ID
서비스 제공업체 메타데이터 탭에서 clientId 제공
|
|
고객 이름
서비스 제공업체 이름 제공
|
|
프로토콜 유형
IdentityServerConstants.ProtocolTypes.Saml2p
|
|
허용 범위
openid, 프로필
|
- . Config.cs 구성 SAML 세부 사항 사용 서비스 제공자 객체.
new ServiceProvider {
EntityId = "http://localhost:5001/saml",
SigningCertificates = {new X509Certificate2("TestClient.cer")},/*Enter the certificate name*/
AssertionConsumerServices = { new Service(SamlConstants.BindingTypes.HttpPost, "http://localhost:5001/signin-saml") }
};
참고: 클라이언트 ID와 엔티티 ID는 동일 해야 합니다.
- 서비스 공급자 메타데이터에서 다음 정보가 필요합니다.
|
엔터티 ID
서비스 제공업체 메타데이터 탭에서 엔터티 ID 제공
|
|
서명인증서
를 다운로드 자질 플러그인의 서비스 제공업체 메타데이터 탭에서 다음을 입력하세요. 인증서 이름
|
|
어설션 소비자 서비스 URL
필수 제공 바인딩 유형 다음에 AC URL:
HttpPost 방법: SamlConstants.BindingTypes.HttpPost HttpRedirect 메서드: SamlConstants.BindingTypes.HttpRedirect AC URL: 서비스 제공업체 메타데이터 탭에서 ACS URL 제공 |
- 서비스 제공업체가 IDP 메타데이터를 검색하도록 구성하려면 다음을 방문하세요. /saml/메타데이터 URL.
- 서비스 공급자 구성에 필요한 엔드포인트를 얻게 됩니다.
Joomla 사이트에 IdentityServer4 SSO 로그인을 달성하기 위해 IdentityServer4를 SAML IdP(ID 공급자)로 성공적으로 구성했습니다.
