OmniAuth를 GitHub 전략과 함께 사용하여 프로젝트에 대한 사용자 인증을 처리하고 있습니다. Rails 서버에 직접 액세스 할 때 모든 것이 제대로 작동합니다. 나는 최근 개발 프론트 엔드와 백엔드 서버 사이에서 프록 싱을 처리하기 위해 Nginx를 설정했다. 내가 /auth/github
를 방문 할 때 이제 OmniAuth는 GitHub의에 대한 요청을 발사하지만, 다음과 콜백 실패 : 내가 올바른 URL에 GitHub의에 내 응용 프로그램의 설정에서 콜백 URL을 설정 한Nginx를 통해 프록시 할 때 OmniAuth가있는 CallbackError
Started GET "/auth/github/callback?error=redirect_uri_mismatch" for 127.0.0.1 at 2014-01-22 11:54:35 -0800
I, [2014-01-22T11:54:35.365773 #13656] INFO -- omniauth: (github) Callback phase initiated.
E, [2014-01-22T11:54:35.366091 #13656] ERROR -- omniauth: (github) Authentication failure! redirect_uri_mismatch: OmniAuth::Strategies::OAuth2::CallbackError, redirect_uri_mismatch
E, [2014-01-22T11:54:35.366149 #13656] ERROR -- omniauth: (github) Authentication failure! invalid_credentials: OmniAuth::Strategies::OAuth2::CallbackError, redirect_uri_mismatch
그것은 분명히을 만들고있다 이 신비한 것만으로도 올바르게 요청하십시오 redirect_uri_mismatch
. 내가 Nginx의 구성과 상대 멍청한 놈 오전하지만
server {
listen 8080;
server_name localhost;
location/{
proxy_pass http://localhost:9000;
}
location /api/ {
proxy_pass http://localhost:3000;
}
location /auth/ {
proxy_pass http://localhost:3000;
}
}
난 정말이 작동하지 않아야하는 이유 좋은 이유를 볼 수 없습니다 :
여기 내 Nginx에 서버 블록입니다.