개요
이 섹션에서는 어플리케이션을 Casdoor에 연결하는 방법을 보여드리겠습니다.
서비스 제공자(SP)로서, Casdoor는 두 가지 인증 프로토콜을 지원합니다:
OAuth 2.0 (OIDC)
SAML
아이덴티티 제공자(IdP)로서, Casdoor는 네 가지 인증 프로토콜을 지원합니다:
OAuth 2.0
OIDC
SAML
CAS 1.0, 2.0, 3.0
OAuth 2.0 (OIDC)
OAuth 2.0이란 무엇인가요?
OAuth 2는 Facebook, GitHub, Casdoor와 같은 애플리케이션들이 HTTP 서비스에서 사용자 계정에 제한적인 접근을 허용하는 인증 프레임워크입니다. 이는 사용자 인증을 사용자 계정을 호스팅하는 서비스에 위임하고, 제3자 애플리케이션들이 해당 사용자 계정에 접근할 수 있도록 인증하는 방식으로 작동합니다. OAuth 2는 웹 및 데스크톱 애플리케이션, 모바일 장치를 위한 인증 흐름을 제공합니다.
Casdoor의 인증 과정은 OAuth 2.0 프로토콜을 기반으로 구축되었습니다. 다음의 이유로 OAuth 2.0 프로토콜을 사용하는 것을 권장합니다:
- 이 프로토콜은 간단하고 쉽게 구현할 수 있으며, 많은 시나리오를 해결할 수 있습니다.
- 높은 성숙도 수준을 가지고 있으며, 광범위한 커뮤니티 지원이 있습니다.
따라서, 귀하의 애플리케이션은 OAuth 2.0 (OIDC)를 통해 Casdoor와 통신할 것입니다. Casdoor에 연결하는 세 가지 방법이 있습니다:
표준 OIDC 클라이언트
표준 OIDC 클라이언트: 모든 프로그래밍 언어나 프레임워크에서 널리 제공되는 표준 OIDC 클라이언트 구현을 사용합니다.
OIDC란 무엇인가요?
OpenID Connect (OIDC)는 OAuth 2.0 프레임워크 위에서 작동하는 오픈 인증 프로토콜입니다. OIDC는 소비자를 대상으로 하며, 개인이 이메일 제공자나 소셜 네트워크와 같은 OpenID 제공자(OP)를 사용하여 자신의 신원을 인증하고 신뢰하는 당사자 사이트에 단일 로그인(SSO)을 사용할 수 있게 합니다. 이는 사용자에 대한 정보, 인증의 맥락, 그리고 프로필 정보에 대한 접근을 애플리케이션 또는 서비스에 제공합니다.
Casdoor는 OIDC 프로토콜을 완벽하게 지원합니다. 만약 귀하의 애플리케이션이 이미 표준 OIDC 클라이언트 라이브러리를 통해 다른 OAuth 2.0 (OIDC) 아이덴티티 제공자를 사용하고 있고, Casdoor로 이전하려는 경우, OIDC discovery를 사용하면 Casdoor로 전환하는 것이 매우 쉬워집니다.
Casdoor SDKs
Casdoor SDKs: 대부분의 프로그래밍 언어에 대해, Casdoor는 OIDC 위에 쉽게 사용할 수 있는 SDK 라이브러리를 제공하며, 이는 Casdoor에서만 사용 가능한 확장 기능을 포함합니다.
표준 OIDC 프로토콜에 비해, Casdoor의 SDK는 사용자 관리, 리소스 업로드 등 더 많은 기능을 제공합니다. 표준 OIDC 클라이언트 라이브러리를 사용하는 것보다 Casdoor SDK를 통해 Casdoor에 연결하는 데 더 많은 시간이 필요하지만, 가장 유연성이 높고 가장 강력한 API를 제공합니다.
Casdoor 플러그인
Casdoor 플러그인: 만약 귀하의 애플리케이션이 인기 있는 플랫폼(예: Spring Boot, WordPress 등) 위에 구축되어 있고 Casdoor(또는 제3자)가 이미 그것을 위한 플러그인이나 미들웨어를 제공했다면, 그것을 사용해야 합니다. 플러그인을 사용하는 것은 플랫폼을 위해 특별히 만들어진 것이기 때문에 Casdoor SDK를 수동으로 호출하는 것보다 훨씬 쉽습니다.
플러그인:
미들웨어:
SAML
SAML이란 무엇인가요?
보안 주장 마크업 언어(Security Assertion Markup Language, SAML)는 신원 제공자(IdP)가 서비스 제공자(SP)에게 인증 자격을 전달할 수 있게 하는 오픈 표준입니다. 이 전문 용어의 의미는 하나의 자격 증명 세트를 사용하여 여러 다른 웹사이트에 로그인할 수 있다는 것입니다. 이메일, 고객 관계 관리(CRM) 소프트웨어, 액티브 디렉토리 등에 대한 별도의 로그인을 관리하는 것보다 사용자 당 하나의 로그인을 관리하는 것이 훨씬 간단합니다.
SAML 트랜잭션은 신원 제공자와 서비스 제공자 간의 표준화된 통신을 위해 확장 가능한 마크업 언어(XML)를 사용합니다. SAML은 사용자의 신원 인증과 서비스 사용 권한 부여 사이의 연결고리입니다.
Casdoor는 SAML IdP로 사용될 수 있습니다. 현재, Casdoor는 SAML 2.0의 주요 기능을 지원합니다. 자세한 내용은 SAML을 참조하십시오.
예시:
Keycloak에서의 Casdoor를 SAML IdP로 사용
제안:
- 프로토콜은 강력하며, 많은 시나리오를 커버하므로 가장 포괄적인 SSO 프로토콜 중 하나입니다.
- 프로토콜은 큽니다, 많은 선택적 매개변수가 있으므로 실제 구현에서 모든 애플리케이션 시나리오를 100% 커버하는 것은 어렵습니다.
- 애플리케이션이 새로 개발된 경우, 기술적 복잡성이 높기 때문에 SAML은 권장되지 않습니다.
CAS
CAS란 무엇인가요?
중앙 인증 서비스(Central Authentication Service, CAS)는 웹을 위한 단일 로그인 프로토콜입니다. 그 목적은 사용자가 자신의 자격 증명(예: 사용자 ID와 비밀번호)을 한 번만 제공하면서 여러 애플리케이션에 접근할 수 있게 하는 것입니다. 또한, 웹 애플리케이션은 사용자의 보안 자격 증명, 예를 들어 비밀번호에 접근하지 않고도 사용자를 인증할 수 있습니다.
Casdoor는 CAS 1.0, 2.0, 3.0 기능을 구현했습니다. 자세한 내용은 CAS를 참조하십시오.
제안:
- 프로토콜 자체는 상대적으로 가볍고 구현하기 쉽지만, 단일 시나리오만 해결할 수 있습니다.
- CAS 클라이언트와 CAS 서버 간의 상호 신뢰는 암호화나 서명 메커니즘 없이 인터페이스 호출을 통해 확립되어 추가적인 보안을 보장합니다.
- CAS 프로토콜은 다른 프로토콜에 비해 장점이 없습니다.
통합 테이블
일부 애플리케이션은 이미 Casdoor에 연결하는 예제를 가지고 있습니다. 문서를 따라 Casdoor에 빠르게 연결할 수 있습니다. 통합 테이블에서 모든 애플리케이션을 볼 수 있습니다.