제 이해로는, Discourse가 우리 API를 통해 인증을 검증하고 사용자 정의 파라미터도 전송할 수 있다고 생각합니다. 틀린 부분이 있다면 지적해 주십시오.
우리가 원하는 것은, Discourse에서 로그인 버튼을 클릭할 때(예: discourse.open…com) 우리 자체의 로그인 페이지(예: kan.open..com)가 열리도록 하는 것입니다. 그리고 로그인에 성공하면 Discourse 사이트로 이동해야 합니다. Twitter나 Atlassian 같은 사이트들이 이렇게 하고 있는 것을 확인했습니다. 동일한 방식을 구현하는 방법에 대해 더 자세한 정보를 제공해 주실 수 있을까요?
"우리 API를 사용한다"는 것이 "Discourse connect를 지원하도록 우리 API를 수정한다"는 뜻이라면 맞습니다. 어떻게 해야 하는지에 대한 자세한 내용은 링크한 문서에 나와 있습니다. 포럼에서 아무것도 보지 않고 즉시 리디렉션되길 원하신다면 “로그인 필수” 사이트 설정을 켜야 합니다.
디스코 SSO(DiscourseConnect) 설정에 대해 질문이 있습니다. 디스코가 DiscourseConnect URL을 호출할 때 요청에 추가 매개변수를 포함할 수 있는 방법이 있을까요? 구체적으로, DiscourseConnect URL로 요청 시 사용자 토큰이나 사용자 ID와 같은 사용자 데이터를 전달하여 사용자를 인증하고 SSO 로그인 과정을 완료하고 싶습니다.
현재 직면한 문제는 SSO를 통해 연결할 때 사용자가 두 번 로그인해야 한다는 점입니다. 한 번은 제 프로젝트에, 또 한 번은 디스코에 로그인해야 합니다. 이상적으로는 사용자가 이미 제 프로젝트에 로그인되어 있다면, 동일한 자격 증명으로 다시 로그인하지 않도록 프로세스를 간소화하고 싶습니다.
디스코에 이와 관련된 기능이 있거나, 이를 처리하기 위한 모범 사례가 있을까요? SSO 경험을 더 원활하게 만들 수 있는 조언이나 제안이 있다면 감사하겠습니다.
Discourse를 통해 SSO 로그인을 처음 수행할 때, 사용자 ID나 토큰과 같은 사용자 데이터를 제공할 수 있는 API나 메서드가 있는지 알고 싶습니다. 이 데이터를 Discourse API로 전송하면, Discourse가 해당 데이터(사용자 ID 또는 토큰 등)를 Discourse Connect URL 요청에 포함시켜 주기를 원합니다.
제가 전달하려는 내용을 이해하지 못하고 계신 것 같습니다. 로그인 후 Discourse에서 사용자 정보를 가져오는 방법에 대해 묻는 것이 아닙니다. 제가 달성하려는 전체 흐름을 이해해 주시고, 이것이 Discourse로 가능한지 아니면 제가 직접 개발한 방식으로 진행해야 하는지 알려 주시기 바랍니다.
현재 Laravel 프레임워크로 구축된 프로젝트가 있으며, 사용자에게 피드백을 위해 Discourse 포럼에 대한 접근 권한을 제공하고자 합니다. 저는 Discourse에 SSO 로그인을 구현하기로 결정했습니다. Discourse 관리자 계정을 생성하고 SSO 로그인을 위한 필요한 설정을 활성화했습니다. 여기에는 SSO 활성화, 리다이렉트 URL 설정, 시크릿(secret) 구성 등이 포함됩니다.
현재 프로젝트 내에 ‘Discourse Connect’ 버튼을 추가했습니다. 사용자가 이 버튼을 클릭하면 제 프로젝트의 자격 증명으로 등록하거나 로그인한 뒤, 자동으로 Discourse에 로그인되기를 원합니다. 사용자가 ‘Discourse Connect’ 버튼을 클릭하면 제 기본 커뮤니티 URL의 session/sso 엔드포인트로 리다이렉트되고, 다시 제 Discourse Connect URL로 돌아옵니다. 요청에서 SSO와 sig 매개변수를 수신하며, 이것이 검증 용도임을 이해하고 있습니다. 하지만 Discourse에 사용자를 로그인시키기 위해 데이터베이스에서 사용자 데이터를 가져와서 검증하고 인증하려면 user_id 또는 기타 식별자가 필요합니다.
제 질문은 다음과 같습니다: 요청에서 SSO와 sig 매개변수와 함께 user_id를 반환할 수 있는 Discourse의 API나 메커니즘이 있습니까? 이는 매우 중요합니다. 요청에서 사용자 데이터를 가져오지 못하면 사용자에게 다시 로그인을 요구해야 하며, 이는 좋지 않은 사용자 경험을 초래합니다. 본질적으로, 사용자가 제 프로젝트에 로그인한 후 ‘Discourse Connect’ 버튼을 클릭하면 Discourse Connect URL이 트리거되고 SSO와 sig 매개변수를 수신합니다. 사용자를 인증하려면 데이터베이스에서 사용자 데이터를 가져와야 하는데, 이를 위해 사용자에게 다시 로그인을 요구하는 것은 피하고 싶습니다.
사용자가 이미 한 번 로그인한 상태라면 다시 로그인할 필요가 없는 매끄러운 경험을 원합니다. 사용자는 프로젝트 자격 증명을 사용하여 직접 Discourse 포럼에 접근할 수 있어야 합니다.