하면, 만약, 만약...
내가 한번 보냈더니 전 세계 사람들이 이 401안에서 엉망진창인 것을 발견하였다.
잘못
HTTP에서 요청한 정보를 보았지만, 이렇게 하면 접근 권한을 줄 수 없기 때문에 인증할 수 없습니다!
까닭
발견하는 원인이 많은 순서대로 열거하다.
해결책
1. 프로그램 설정 화면의 CallbackURL에 입력된 내용이 없습니다.
https://dev.twitter.com/apps 애플리케이션을 등록할 때 Callback URL이 필수 항목을 입력하지 않고 비어 있으면 웹 애플리케이션이 아닌 데스크톱 애플리케이션으로 인식되기 때문에 웹 애플리케이션에서 동작하지 않습니다.
Callback URL은 가상 URL일 수 있으므로 먼저 몇 개의 URL을 입력하면 됩니다.필요할 때 정확한 URL로 변경하시면 됩니다.
2. API_KEY(CONSUMER KEY) 및 APISECRET(CONSUMER SECRET)의 설정이 잘못되었습니다.
이것은 이미 토론 범위 내에 있지 않다.문서를 잘 읽어라.
창설
config/initializers/omniauth.rb
및 아래 내용 설정config/initializers/omniauth.rb
Rails.application.config.middleware.use OmniAuth::Builder do
provider :twitter, "API_KEY", "API_SECRET"
end
or사용자 등록 또는 로그인과 같은 인증 솔루션 "Devise"를 사용할 때
config/initializers/devise.rb
많은 내용이 기록됩니다.(자세한 내용은 devise 설명서 참조)3. 컴퓨터의 시간이 정상적이지 않다(글 아래의 댓글도 참고하세요)
4. 앱이 트위터에 Suspend에 의해
트위터에 앱을 재등록하다.응용 프로그램의 등록 정보를 삭제하고 다시 등록합니다.
5. 그렇다고 해결되지 않는다
내가 이거야.
네 번째'앱이 트위터에서 Suspend에 걸렸어요'는 dev. 트위터다.응용 프로그램에'Suspended'가 표시되지 않았기 때문에 나는 괜찮다고 생각했지만 위에서 열거한 해결 방안을 먼저 실행했다.
하지만 상황은 여전하다.그 외의 사유는 적용되지 않기 때문에 다른 사유가 있을 것으로 보고 원인을 규명하고 있다.일부 주요 IP 주소가 차단되었습니다.
rails 프로그램의 다른 부분이 영향을 받을 수 있음을 감안하여 새로운 프로그램을 다시 만들면omniauth-twitter의 문서 설정에 따라 이 오류가 발생할 수 있습니다.
omniauth-facebook을 사용하여 페이스북 인증을 시도했는데 순조롭게 진행되었다.트위터 API는 이전에도 500번 채널에서 되돌려야 할 오류가 모두 401로 바뀌는 문제가 있었기 때문에 이번에도 이런 생각을 했다.
Reference
이 문제에 관하여(하면, 만약, 만약...), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/hirokishirai/items/5a43977a38ecd922bfb9텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)