2017-02-06 4 views
1
생산 환경에서의 구글 계정으로 로그인을 시도 할 때 때 다음과 같은 오류를 받고 있어요

:Servicestack - 구글 인증 오류

2017-02-06 10:34:26.8978|DEBUG|HttpResponseExtensionsInternal|Setting Custom HTTP Header: Accept-Ranges: bytes 
2017-02-06 10:34:26.8978|DEBUG|HttpResponseExtensionsInternal|Setting Custom HTTP Header: Location: https://accounts.google.com/o/oauth2/auth?client_id=XXXXX.apps.googleusercontent.com&redirect_uri=https%3A%2F%2Fproductionurl.com%2Fapi%2Fauth%2FGoogleOAuth&state=xxxxxxxx&scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.profile%20https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.email&response_type=code 
2017-02-06 10:34:26.8978|DEBUG|HttpResponseExtensionsInternal|Setting Custom HTTP Header: Content-Type: text/html; charset=utf-8 
2017-02-06 10:34:26.8978|DEBUG|HttpResponseExtensionsInternal|Setting Custom HTTP Header: Cache-Control: no-cache, no-store, max-age=0, must-revalidate 
2017-02-06 10:34:26.8978|DEBUG|HttpResponseExtensionsInternal|Setting Custom HTTP Header: Pragma: no-cache 
2017-02-06 10:34:38.3492|WARN|StringMapTypeDeserializer|Property 'code' does not exist on type 'ServiceStack.Authenticate' 
2017-02-06 10:34:38.3492|DEBUG|RedisNativeClient|S: GET urn:iauthsession:tWsIDUa1jLZAXzXYK8Ob 
2017-02-06 10:34:38.3492|DEBUG|RedisNativeClient|R: $510 
2017-02-06 10:34:39.0678|ERROR|AppHost|DotNetOpenAuth.Messaging.ProtocolException: Error occurred while sending a direct message or getting the response. ---> System.Net.WebException: The remote server returned an error: (400) Bad Request. 
    at System.Net.HttpWebRequest.GetResponse() 
    at DotNetOpenAuth.Messaging.StandardWebRequestHandler.GetResponse(HttpWebRequest request, DirectWebRequestOptions options) 
    --- End of inner exception stack trace --- 
    at DotNetOpenAuth.Messaging.StandardWebRequestHandler.GetResponse(HttpWebRequest request, DirectWebRequestOptions options) 
    at DotNetOpenAuth.Messaging.Channel.RequestCore(IDirectedProtocolMessage request) 
    at DotNetOpenAuth.Messaging.Channel.Request(IDirectedProtocolMessage requestMessage) 
    at DotNetOpenAuth.OAuth2.ClientBase.UpdateAuthorizationWithResponse(IAuthorizationState authorizationState, EndUserAuthorizationSuccessAuthCodeResponse authorizationSuccess) 
    at DotNetOpenAuth.OAuth2.WebServerClient.ProcessUserAuthorization(HttpRequestBase request) 
    at ServiceStack.Authentication.OAuth2.OAuth2Provider.Authenticate(IServiceBase authService, IAuthSession session, Authenticate request) 
    at ServiceStack.Auth.AuthenticateService.Authenticate(Authenticate request, String provider, IAuthSession session, IAuthProvider oAuthConfig) 
    at ServiceStack.Auth.AuthenticateService.Post(Authenticate request) 
    at lambda_method(Closure , Object , Object) 
    at ServiceStack.Host.ServiceRunner`1.Execute(IRequest request, Object instance, TRequest requestDto) 
2017-02-06 10:34:39.0990|ERROR|ServiceStackHost|ServiceBase<TRequest>::Service Exception 
The remote server returned an error: (400) Bad Request. at System.Net.HttpWebRequest.GetResponse() 
    at DotNetOpenAuth.Messaging.StandardWebRequestHandler.GetResponse(HttpWebRequest request, DirectWebRequestOptions options) 

페이스 북 인증은 생산에서 완벽하게 작동합니다. 개발 모두 구글과 페이스 북의 인증 잘 작동하지만 프로덕션에서 나는 구글 인증을 위해서만이 오류가 발생했습니다.

는 분명히 구글 인증은 네트워크 탭에서 브라우저 관리자에서 나는 다음과 같은 리디렉션을 볼 수 있습니다 제대로 수행됩니다

https://productionurl.com/api/auth/GoogleOAuth?state=XXXXLiO-LQf6EoGYMw&code=XXXXXwduRVs96RIBCdkao2nQDgKDFvvQhT8

하지만 뭔가 마지막 인증 단계에서 잘못.

프로덕션 환경은 부하 분산 장치 뒤에 있습니다. 밸런서가 문제가 될 수 있습니까?

이 문제를 더 자세히 조사 할 방법이 있습니까?

답변

1

GoogleOAuth가 DotNetOpenAuth를 사용하기 때문에을 사용하면 OAuth 문제를 자세히 기록 할 수 있습니다.