디스코르스 팀에 대해 공평하게 말하자면, 이것은 2020년 12월의 문제와 다릅니다. 그 다른 이슈의 마지막 게시글은 @dnfoz 님이 여기에 첫 게시글을 올리기 바로 직전이었고, 1년 전의 것이었습니다. @dnfoz 님의 이슈는 몇 달 전이 아니라 불과 8일 전에 게시되었습니다. 문제는 트위터가 자사 플랫폼에 대해 무엇을 지향하는지 솔직히 전혀 모르고 있기 때문에 API를 끊임없이 변경한다는 점입니다. 특히 트위터의 경우, 1년 전의 이슈와 일주일 전의 이슈는 완전히 다를 수 있습니다. 그리고 만약 이 문제가 몇 달 전의 것이었다면, 오스모시스나 타인의 마음을 읽는 능력을 제외하고는, 해당 팀이 인지할 수 있도록 귀하나 누군가가 이를 게시했을 필요가 있었을 것입니다.
가입할 때 이메일 필드가 자동으로 입력되지 않는 것 외에는 잘 작동하는 것 같습니다. 제가 뭔가 잘못하고 있는 건가요? 구글 계정으로 가입할 때는 이메일이 자동으로 입력되거든요.
@dnfoz의 예를 참고하세요. 문제는 모든 SSO 제공업체가 서로 다르다는 데 있습니다. 즉, Google의 방식은 Twitter와 약간 다르며, Twitter는 최악 중 하나이거나 아예 최악에 가깝습니다. Twitter API는 움직이는 표적과도 같은데, 이는 Twitter 측이 무엇을 해야 하는지 제대로 파악하지 못하고 있기 때문이며, Twitter는 자사 API를 기반으로 개발하는 개발자들에게 전혀 배려를 하지 않습니다. 따라서 솔직히 말씀드리면, 저희 Discourse 관리자나 Discourse 팀이 Twitter 측의 변경 사항에 대해 이 플러그인을 지속적으로 추적하지 않는 한, 이런 식으로 계속 깨질 것입니다.
감사합니다. 네, 말씀하신 대로 언제든 변경될 수 있는 Twitter API를 배우고鼓捣하는 데 더 이상 시간을 낭비하는 것은 적절하지 않다고 생각합니다. 제 사용자분들은 잘 적응하실 거라고 확신합니다!
디스코어 팀이 이미 수정 작업을 진행 중이라는 뜻은 아닙니다. 실제로 그들은 작업을 진행 중이며, 관리자 측에서 다시 작동하려면 플러그인 업데이트만으로 해결될 수도 있습니다. 문제는 이것이 트위터의 반복적인 문제라는 점입니다. 트위터는 관리가 부실한 기업이기 때문입니다. 저는 트위터 SSO 플러그인을 옵션으로 계속 유지할 것이지만, 트위터는 다른 SSO 옵션들과 달리 안전하고 신뢰할 수 있는 선택지가 아닙니다.
이 문제가 여전히 발생하고 있다면, try.discourse.org에서 동일한 문제를 재현해 볼 수 있을까요? 저는 그곳에서 Twitter 계정으로 로그인에 문제가 없었습니다.
와, 방금 공유해 주신 try 서브도메인 포럼에서 Twitter로 가입을 시도했는데 정말 완벽하게 잘 동작하네요. 그렇다면 플러그인 충돌이나 어떤 특별한 구성 문제 같은 것이 있는 건 아닌지 궁금해집니다.
이상하네요. 제 웹사이트에서 여전히 이상한 동작이 발생하고 있습니다. 프로덕션 환경이라 이것저것 많이 바꾸기는 어렵지만, 원인을 파악하기 위해 최선을 다해볼게요. 다른 사용자들도 같은 문제를 보고하고 있으니, 제 경우만 특별한 일은 아닐 텐데요.
여기 부모 게시물과 비교하면, Twitter는 설정 구성 방식을 시각적으로 변경했습니다. 여기에는 제 Discourse 인스턴스에 설정한 내용(아무튼 이 포럼에서 공개적으로 공유해도 안전한 설정)이 포함되어 있습니다:
수정: 이것이 문제가 될 수 있습니다. 여전히 사용자에게 이메일을 요청하는 옵션은 있지만, 부모 게시물에서 언급된 Enable 3rd party authentication(제3자 인증 활성화) 설정은 더 이상 없습니다. 이 변경 사항 이전에 자신의 설정에서 Twitter 로그인을 구성했던 사람들에게는 문제가 되지 않을 수 있습니다. Twitter가 기존 사용자를 예외로 취급하여 설정을 마이그레이션할 수 있기 때문입니다. 그러나 저는 더 이상 이 옵션을 볼 수 없으며, 이는 저와 @dnfoz와 같이 처음 포럼을 구성하는 사용자에게 문제가 될 수 있습니다. Discourse가 SSO 핸드셰이킹 프로세스를 성공적으로 완료하려면 제3자 인증이 필요하기 때문입니다.
수정 2: 또 다른 고민거리입니다. Discourse는 Twitter API v1을 기대하는 것일까요, v2일까요? 새로운 개발자를 위해 더 이상 v1을 제공하지 않으며, 기존에 v1을 사용하던 사람들을 위한 마이그레이션만 언급하고 신규 사용자를 위한 레거시 v1 지원에 대해서는 언급하지 않습니다. 자세한 내용은 여기서 확인하세요:
위 링크에 설명된 바와 같이, 기존 개발자 계정만 v1을 마이그레이션할 수 있도록 허용하는 것 같습니다. 신규 개발자 계정에 v2를 활성화하는 방법이나 문서화를 찾을 수 없으므로, 저는 v2 지원만 가지고 있습니다.
따라서 SSO와 임베딩이 Twitter API v1을 기대하고 있다고 가정하면, 이는 두 가지 API 릴리스를 모두 지원하기 위한 코딩 작업이 필요하거나, 이러한 이중 접근이 불가능하다면 v1 지원을 종료하는 것이 필요할 수 있습니다.
수정 3: Twitter의 Twitter Developers Discourse 포럼(아, Twitter 자체가 Discourse를 사용한다는 아이러니!)을 읽으면서 제 의심이 거의 확정되었습니다. 그들의 고정 배너(여기서 확인 가능: Twitter Developers (twittercommunity.com))에 따르면, 신규 개발자는 v1.1 API에 접근할 수 없습니다:
플랫폼에 새로 오셨고 시작할 준비가 되셨나요?
Essential 액세스에 가입하고 API에 첫 요청을 보내는 것을 권장합니다.
가입 후 계정 내에서 Essential 액세스를 가진 프로젝트가 생성되며, 다음을 제공합니다:
- 1개 앱 환경
- 월 최대 50만 개의 트윗 검색
- 필터링된 스트림 엔드포인트에서 최대 5개 규칙 사용 가능
- Twitter API v2 엔드포인트의 대부분에 대한 접근 권한
- standard v1.1, premium v1.1 또는 enterprise 엔드포인트에 접근할 수 없음
네, 제가 songwritingsteps.com에서 말씀드리고 싶었던 게 바로 이거예요. "user1"은 채워지는데 이메일은 비어 있거든요.
해결 방법을 찾으시면 알려주세요! 몇 시간 동안 머리를 쥐어뜯고 있었거든요 ![]()
아니, 전혀 모르겠어! 그래도 로컬 머신에 VM을 만들어서 포럼을 띄워보고 무슨 일이 일어나고 있는지 알아볼 수는 있지. 하지만 현재로서는 아직 단서가 없어. 지금은 그냥 추측하는 거지만, 앞서 말했듯이 V1 API 지원이 기대되고 있는데 그게 문제인 것 같아. 방금 공유한 것처럼, 신규 개발자 계정에는 더 이상 필요한 V1 레거시 지원이 없거든.
감사합니다! @Hifihedgehog 님, 정말 훌륭한 분석이네요. 앞으로의 최선의 방향을 검토 중이며, 결과가 나오면 업데이트를 제공하겠습니다.
모두의 인내에 감사드립니다.
로컬 머신에서 소셜 로그인을 설정할 수 없다고 생각합니다. 유효한 https 인증서가 필요하기 때문입니다. 로컬 머신의 VM에 접근하기 위해 유효한 인증서를 가지고 계신가요?
실제로는 그렇게 복잡하지 않습니다: VPS에서 로컬 머신으로 SSH 터널을 설정한 후, 이미 SSL 인증서가 설치된 웹서버의 프록시로 연결하면 됩니다. ![]()
좋아요, 이제 이 수수께끼를 풀 수 있었던 것 같습니다 ![]()
@Hifihedgehog 님이 지적했듯이, 새로운 Twitter 개발자 계정은 “Essential” 플랜으로 시작하며 v2 API 엔드포인트에만 접근할 수 있습니다. 내장된 Twitter 로그인 기능은 현재 v1.1 엔드포인트에 접근해야 합니다. 다행히도 이는 문제가 되지 않습니다!
https://developer.twitter.com/en/products/twitter-api 의 이 차트에서 두 가지 중요한 사항을 주목해야 합니다.
Elevated 플랜을 통해 v1.1 API에 무료로 접근할 수 있습니다. 개발자 대시보드에서 신청하기만 하면 됩니다. 매우 빠르고 쉬웠습니다. 그 후 Discourse의 Twitter 로그인은 완벽하게 작동했습니다 ![]()
이 새롭게 발견된 요구 사항을 포함하도록 원 게시글(OP)을 업데이트하겠습니다.
정말 맞습니다! 불과 몇 분 만에 즉시 승인되었습니다. 간단한 해결책은 항상 좋습니다! ![]()
8개의 게시글이 새로운 주제로 분리되었습니다: 이름이 사용자명과 일치할 때 인용이 깨지는 문제
트위터 시크릿이나 키가 업데이트되면 기존 사용자에게 영향을 미치나요? 영향을 미친다면 이를 "수정"할 방법이 있을까요? 페이스북 로그인 업데이트에 대한 지침을 찾았는데, 이 스크립트를 사용하는 것이 맞을까요?
cd /var/discourse
./launcher enter app
rails c
UserAssociatedAccount.where(provider_name: "twitter").delete_all
Twitter 로그인 설정 이후로 트위터 링크가 더 이상 임베드되지 않습니다. 처음에는 Twitter 소비자 키를 설정했는데, 로그인이 예상대로 작동하지 않았습니다. 지금은 “Elevated” 플랜을 사용하고 있으므로 v1.1 엔드포인트에 접근할 수 있어야 합니다.
지금은 로그인이 정상적으로 작동하지만, 트위터 링크가 포함된 게시물을 다시 빌드하면 링크가 그냥 일반 링크로만 남아 있습니다.
이미 트윗이 임베드된 기존 게시물을 다시 빌드하면 임베드가 제거됩니다.
원인을 아시는 분 있으신가요?
수정: 이 문제는 최신 업데이트(2.9.0.beta5 - 0ae7b43018)에서 수정된 것으로 보입니다.




