토큰화된 '토픽 방문' 링크로 Discourse에 자동 로그인

Discourse에서 이메일을 받은 사용자가 링크를 클릭했을 때 자동으로 로그인될 수 있도록 “주제 방문” 링크에 토큰을 추가하는 옵션을 제공해 주시면 좋겠습니다.

Gmail과 같은 많은 앱 기반 이메일 클라이언트는 이전에 로그인 이력이 있어도 쿠키가 저장되지 않은 상태에서 사용자가 클릭한 링크를 웹뷰로 로드합니다. 그 결과, 사용자가 로그인 정보를 바로 꺼낼 수 없으면 답변을 할 수 없고, 답변하려는 의욕을 잃고 포기하는 경우가 많습니다.

링크를 클릭했을 때 사용자가 즉시 답변할 수 있도록 자동으로 로그인되는 토큰을 추가하는 옵션이 있다면 이 문제를 쉽게 해결할 수 있을 것입니다. 또한, 토큰의 유효 기간을 설정할 수 있는 추가 옵션도 유용할 것입니다.

이것은 이메일 클라이언트의 웹 뷰를 사용하지 말거나, 또는 이메일로 직접 답장하도록 권장함으로써 해결할 수 있는 문제에 대해 꽤 창의적인 해결책인 것 같습니다.

저는 서드파티 로그인 시스템을 사용하지 않지만, 이 개념이 그러한 시스템의 작동 방식과 다소 충돌하는 것 같지 않나요? 소셜 미디어 계정으로 로그인하는 다른 사이트의 링크를 클릭할 때, 이메일 클라이언트의 웹 뷰에서는 어떻게 처리되나요? 그 시나리오에서 로그인 토큰이 작동하나요? :thinking:

말씀하시는 내용은 이해하지만, 아마도 웹 뷰와 모바일 사파리에서 여는 것의 차이조차 모르는 일반 사용자는 이미 이탈했을 거라고 생각합니다.

많은 사이트가 비슷한 방식을 사용하는데, 슬랙 같은 서비스에 로그인할 때의 ‘매직 링크’ 개념과 비슷합니다. 사용자명과 비밀번호를 입력하는 대신, 이메일로 매직 링크 전송을 요청할 수 있습니다. 매직 링크를 클릭하면 로그인됩니다. 매직 링크는 토큰화된 URL입니다.

이메일로 전송된 링크로 비밀번호를 재설정할 수 있다면, 그 차이가 무엇인가요?

혹시 이 부분에 대한 답변을 하고 계셨다면:

제가 말한 것은: 사용자가 소셜 미디어 계정으로 가입한 경우, 매직 링크(magic link)가 작동하는가? 저는 그걸 모릅니다. 당신의 기능이 많은 로그인 시스템과 충돌할 수 있으므로, 저는 R&D(연구 및 개발) 단계를 미리 예방하고 있었던 것입니다. :slight_smile:

그 점은 많이 이해합니다… :weary:

그 부분에 대해 답변을 드리지 못한 점 죄송합니다… discourse의 핵심 개발자라면 저보다 더 잘 아실 텐데, 제가 작업해 본 유사한 시스템에서는 문제가 되지 않을 것입니다. 여러분의 SSO가 소셜이거나 그 밖의 방식이든, 기본적으로 SSO 서비스 제공자와 Discourse 사이의 토큰 교환에 불과합니다. 따라서 실제로는 유사하지만, 이 경우 여러분의 SSO가 이메일이 되는 셈입니다. 다소 단순화해서 말하지만, 일반적으로 잘 작동할 것으로 생각합니다.

이것은 iOS에 매우 특이적인 문제인가요? Android의 대응 방식인 Chrome 커스텀 탭은 기본적으로 쿠키를 공유하므로, Android에서는 이러한 문제가 발생하지 않습니다.

1개의 좋아요

전부 정확히 확신하지는 못하고, Android 기기에서 테스트해 볼 기회도 아직 없었습니다. 하지만 제 생각에는 이것이 이 사용 사례를 다소 넘어선다고 봅니다. 데스크톱을 사용 중이더라도 커뮤니티에 한동안 참여하지 않았다면, 응답할 때 자동으로 로그인되도록 하여 참여를 장려할 수 있을 것입니다.

일반적으로 저희가 관리하는 대부분의 디스코르스(Discourse) 인스턴스에서는 이메일로 답글 보내기 기능을 비활성화해 왔습니다. 이메일 파싱 결과가 다소 불안정할 수 있기 때문이죠. 또한 디스쿠스(Disqus)의 모바일 웹 인터페이스가 매우 훌륭하기 때문입니다. 그래서 이 기능이 작동할 때(이미 로그인된 상태) “토픽 방문” 버튼을 클릭하면(심지어 답글 입력 창을 여는 “지금 답글” 버튼을 추가할 수도 있습니다) 이메일 클라이언트에서 답글을 누르는 것과 거의 같은 수준의 매끄러운 경험을 제공합니다.

1개의 좋아요