API를 통해 로그인 이메일 생성

API를 통해 사용자가 '이메일로 로그인’을 직접 눌렀을 때 받는 비밀번호 없는 로그인 이메일을 트리거하고 싶은데, 불가능한 것 같습니다. ‘API 역공학’ 기법을 사용해 시도해 보았지만, 전역 API 키로 인증하면 단순히 홈페이지만 반환되고 아무것도 트리거되지 않았습니다(또는 API 키 없이 시도하면 세션 쿠키 설정 등이 필요한 것으로 보입니다).

제가 달성하고자 하는 것은 가능한 한 적은 단계로 이루어진 가입 프로세스입니다. 사용자는 다른 시스템을 통해 가입하므로, 저는 Discourse에서 사용자를 생성한 후 임시 로그인 링크가 포함된 이메일을 받아 바로 접속할 수 있도록 하고 싶습니다. 이미 번거로운 프로세스에서 마찰을 줄이는 것이 핵심입니다!

API를 통해 이 작업을 가능하게 하는 방법이 있을까요?

이 경우 적절한 해결책은 DiscourseConnect를 사용한 비공개 로그인 설정입니다.

다음과 같이 시도해 보셨나요?

curl -X POST https://meta.discourse.org/u/email-login \
-H "Api-Key: longapikeyhere" \
-H "Api-Username: system" \
--data-raw 'login=email%40gmail.com'

?

Falco님, 답변 주셔서 정말 감사합니다. 말씀하신 대로 curl을 정확히 사용해 보니 ‘You are being redirected’ 응답이 나와 홈 페이지로 되돌려보내는 상황이 발생합니다. 로그인 이메일은 발송되지 않습니다. 제가 이전에 사용하던 도구에서도 비슷한 결과가 나왔는데, 이 도구는 리다이렉트를 따라 홈 페이지로 되돌아가고 있었습니다.

회원 가입 후 필요한 로그인 방식은 Discourse뿐이므로, DiscourseConnect를 유일한 로그인 수단으로 사용하고 싶지 않습니다.

또한, 오랜 기간 Discourse 포럼을 사용하며 좋아해 온 사용자로서 이번이 처음으로 다른 쪽(관리자/개발자 측)에 발을 들여놓는 것입니다. API와 웹훅은 정말 훌륭합니다. 다루기 쉽고 매우 강력합니다.

사실 해당 엔드포인트는 현재 API 호출을 지원하지 않습니다. API 키를 전달하면 다음 리디렉션으로 이동하게 됩니다:

이 라우트는 :verify_authenticity_token CSRF 보호 아래에 있으므로, API 키 없이 호출할 수 없습니다.

감사합니다. 이해가 잘 되고, 그 논리도 납득됩니다. 답변해 주셔서 정말 감사합니다.