Keycloak를 사용한 Discourse SSO 설정

Keycloak를 Discourse의 인증 제공자로 설정하는 방법이 있을까요? SSO 방식으로 작동해야 하므로, Keycloak에서 계정을 생성한 사용자가 자동으로 Discourse에도 접근할 수 있고 로그인된 상태여야 합니다.

OpenID 구성에 대해 읽어보았는데, 이 설정에서는 사용자가 별도로 로그인하고 Discourse에서 별도의 계정을 생성해야 한다고 합니다. 제가 원하는 방식과는 정확히 다릅니다.

이 주제에 대해 참고할 만한 자료가 있을까요?
제 목표는 Discourse와 Keycloak를 각각 독립적인 Docker 컨테이너로 설정하는 것이며, 두 서비스 간에 매끄러운 인증을 구현하는 것입니다. 이렇게 하면 Keycloak에서 사용자 데이터를 관리하면서, 제 JS 프론트엔드 앱에 로그인된 사용자를 대신하여 API 백엔드를 통해 Discourse에 게시물을 작성할 수 있어야 합니다.

Keycloak를 엔터프라이즈 IAM으로 사용하는 사용자를 위한 가장 간단한 해결책은 Discourse SAML을 설정하는 것입니다.

Keycloak SAML 설정은 비교적 직관적입니다.

대안으로, OpenID Connect를 통해 연결할 수도 있습니다.

SAML을 사용하여 사용자가 자동으로 로그인하도록 하려면 로컬 로그인을 포함한 모든 다른 인증 방법을 비활성화해야 합니다. 관리 계정이 Keycloak에 해당하는 계정이 이미 있는지 확인하십시오. 그렇지 않으면 관리자 권한에 접근할 수 없게 됩니다.

흥미롭네요, 감사합니다.
다른 모든 로그인 방법을 비활성화하는 것은 실제로 가능한 옵션이 아닙니다. 저는 Keycloak를 애플리케이션의 주요 인증 수단으로 계속 사용하면서, 추가로 사용자가 Discourse에서도 활동할 수 있도록 하고 싶습니다.
즉, 사용자는 로그인/비밀번호나 원하는 소셜 네트워크를 통해 가입하여 제 애플리케이션과 Discourse 모두에서 작동하는 계정을 생성할 수 있어야 한다는 뜻입니다.
이런 방식이 가능한가요?

PS. 다시 읽어보니, Keycloak에서 인증 방법을 비활성화하라는 말씀이신가요, 아니면 Discourse에서 비활성화하라는 말씀이신가요?

소셜 인증 또는 사용자 이름/비밀번호 인증은 Keycloak를 통해 수행해야 합니다. 게다가 이 방식은 사용자가 자동으로 로그인되지 않는다는 걸 방금 깨달았어요. 이 방식은 로그인 버튼을 클릭하면 사용자가 Keycloak에 직접 인증할 수 있도록 해주는 기능입니다.

예를 들어 처음에는 모든 것을 API를 통해 접근하려고 합니다. 그렇게 할 수 있을까요?
로그인은 Discourse UI의 일부입니다.

새로운 사용자가 제 Keycloak 서버에 등록되고 SAML 통합이 있다고 가정해 보겠습니다. 사용자가 제 JS 웹앱에 로그인되어 있고 그의 토큰을 가지고 있습니다. 이 토큰만으로 Discourse API를 호출할 수 있을까요?
이는 제 웹앱에서 포스트를 생성하는 커스텀 UI를 만들고 싶은 경우입니다.

제가 아는 한, API 키를 사용하여 모든 API 엔드포인트에 접근할 수 있습니다.

그렇게 할 수 있어야 합니다. 그렇게 하는 것을 막는 것은 아무것도 없습니다.

@AAverin 솔루션을 찾았나요?

@AAverin 이 내용을 확인해 보셨나요?