Twitter 로그인 인증에서 404 (forbidden) 또는 401 (Unauthorized) 오류가 발생했을 때의 해결 방법
소개
Twitter의 API를 사용해 Twitter 로그인 기능을 만들고 있습니다만, 인증 에러로 빠졌으므로 메모.
이번에는
・404(forbidden)
・401(Unauthorized)
의 대처법을 해설해 갑니다.
401 오류 처리
401 오류는 인증 오류로 요청 측에 문제가 있음을 의미합니다.
원인 : API key가 잘못되었습니다.
consummer key
또는 consumer sercret
가 잘못되었을 수 있으므로 개발자 페이지 에서 e key
config/initializers/devise.rb
config.omniauth :twitter, (consummer key), (consumer sercret)
글쎄요, 이것이 치료되면 다음은 403 오류에 도달했습니다.
403 오류 해결
403 오류는 브라우징이 금지되었다는 의미입니다.
원인 : callback URL과
localhost
URL이 일치하지 않았습니다.개발자 화면로 이동하여 앱의 상세 화면으로 이동하여 등록한 callback의 url을 확인해 봅시다.
이 빨간색으로 둘러싸인 url 부분과 local 환경에서 사용하고 싶은 url이 일치하지 않으면 오류를 토해 버립니다.
rails routes | grep callback
에서 callback url을 확인합니다.user_twitter_omniauth_authorize GET|POST /users/auth/twitter(.:format) omniauth_callbacks#passthru
user_twitter_omniauth_callback GET|POST users/auth/twitter/callback(.:format) omniauth_callbacks#twitter
여기에서는
users/auth/twitter/callback
에 날고 싶기 때문에,callback URL은
http://127.0.0.1:3000/users/auth/twitter/callback
입니다.라고 여기까지 해결하는 사람도 있거나 하지 않거나 한다고 생각합니다만, 개인적으로 일부 빠진 포인트로서는, 기동하고 있는 로컬 환경의 url과, developer로 설정한 callback_url이 완전 일치해 그렇지 않으면
403エラー
가 발생합니다.즉,
callback_url → →
http://127.0.0.1:3000/users/auth/twitter/callback
로컬 환경에서 시작한 url →http://localhost:3000/users/auth/twitter/callback
오류가 발생합니다.정확하게,
callback_url →
http://127.0.0.1:3000/users/auth/twitter/callback
로컬 환경에서 시작한 url →http://127.0.0.1:3000/users/auth/twitter/callback
입니다.이와 같이 도메인명도 설정한
callback_url
와 일치하도록 합시다.확인 사항
· 키가 잘못 되었습니까?
· 개발자의 callback_url이 잘못 되었습니까?
· 도메인 이름도 일치합니까?
여기에 준 것 이외에도 에러의 원인이 되는 것은 많이 있을까 생각합니다.
단순히
API key
가 잘못되었다고 요청에 문제가있는 경우가 많기 때문에 초조하지 않고 하나씩 부서 갑시다.
Reference
이 문제에 관하여(Twitter 로그인 인증에서 404 (forbidden) 또는 401 (Unauthorized) 오류가 발생했을 때의 해결 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/ngron/items/1f9d315e5ec0f4ae6098텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)