2012-05-18 3 views
0

내 Java 웹 응용 프로그램에서 Google OAuth2.0 인증 메커니즘을 사용하려고합니다. 그러나 여기에 도움을 구하는 몇 가지 기본적인 도전 과제가 있습니다. -Google Oauth2.0에서 요청 매개 변수 처리

Google API 콘솔에 내 애플리케이션을 등록하고 로그인 URL을 개발 목적으로 내 localhost 애플리케이션으로 리디렉션했습니다. 사용자가 응용 프로그램을 인증 한 후 서블릿에서 google이 제공하는 액세스 토큰을 처리하려고합니다. 그러나 다음과 같이 google에서 오는 URL을보고 있습니다. - http: //local host:8080//loginProcess#access_token=ya29.AHS6ZQBN-4Snrj6P9i4xPxbCxLLkmbPf3Jc2Dj7eUA72FWIy4&token_type=Bearer&expires_in=3600 서블릿 이름이 "loginProcess"이므로 준수하십시오. # 이후 - 요청 매개 변수에 해시가있는 경우 request.getParameter ("access_token")을 사용하여 자바 서블릿에서 요청을 검색 할 수 없습니다.

은 내가 내 질문에 명확한입니다 희망 - 그렇지 않은 경우는, 제가 놓치고 세부 사항을 알려 주시기 바랍니다 ..

감사를 모두 사전에!

+0

loginProcess 다음에 # 대신 물음표 (?)를 사용해야하므로 요청 매개 변수로 값을 검색 할 수 있습니다. – UVM

+0

그건 절대적으로 맞습니다! 그러나 이것이 내가 Google에서 얻는 것입니다. 그래서, 내 질문입니다 - 어떻게 '#'아니라 '쳐다보고있는 요청 매개 변수를 구문 분석해야합니까?' – Vikky

+0

여기에서 할 수있는 것은 하나뿐입니다.이 URL은 this.request.getRequestURL(). toString()과 같이 요청 URL을 가져오고 '#'또는 '?'중 첫 번째 항목을 확인하십시오. 존재 여부에 따라 토큰의 값을 검색 할 수 있습니다. – UVM

답변

0

이것은 클라이언트 측 응용 프로그램 (브라우저에서 실행되는 JavaScript)의 일반적인 동작입니다. docs


에서하지 않으면, 아마 당신은 당신의 인증 요청을 변경해야로서, 자바 스크립트은 당신의 유일한 옵션은,이 실제 시나리오의 경우 그래서, 응답을 처리 할 경우 내가 몰라 당신이 request.getParameter("access_token")를 사용하여 응답을 처리 할 수있다이 경우 Web Server applications에 (시나리오), 권한 부여 이런 종류의 중요한 매개 변수는 보안 측면 클라이언트 (웹 브라우저)하지 위해, 또한 response_type=code


입니다 ~해야한다. 문서를 검색 할 때 서버에 URI 조각을 보내려면 from the specs. 조각 식별자는 나머지 URI와는 다르게 기능합니다. 즉, 해당 처리는 서버의 참여없이 클라이언트 측에서만 수행됩니다.

+0

대단히 고맙습니다 ... 나는 response_type을 코드 대신 토큰으로 보내는 것으로 약간의 실수를 저 지르려고했습니다. – Vikky

+0

달콤한, 당신은 환영합니다;) –