2009-12-20 3 views
0

다음 코드에서 다음 오류가 발생합니다. GAE 앱을 통해 Google 사이트 서비스에 로그인하려고합니다. createLoginURL이 GAE에 잘못된 요청 URL을 만듭니다.

은 "요청하신 페이지가 잘못되었습니다."

String authenticationUrl = userService.isUserLoggedIn() 
    ? userService.createLogoutURL(MainServlet.MAIN_URL) 
    : userService.createLoginURL(MainServlet.MAIN_URL+"?close=1"); 
    googleData.setAuthenticationUrl(authenticationUrl); 

https://www.google.com/a/example.com/ServiceLogin?service=ah&passive=true&continue=http://myapp.appspot.com/_ah/login?continue=http://myapp.appspot.com/main%3Fclose%3D1&ltmpl=ga&ahname=Myapp+Google+Sites&sig=7cbc9f7c9e6ca443ed49f7ce9465e775

+0

무엇이 당신의 질문입니까? 나는 사람들이 당신이 물어볼지도 모르는 질문을 발명 할 수있을 것이라고 확신하지만, 우리가 노력을 덜어주고 대신 우리에게 질문한다면 훨씬 더 명확 할 것입니다. – delfuego

+0

왜 잘못된 페이지 오류가 발생합니까? 코드 또는 생성 된 URL에 문제가 있습니까? 나는 그것이 게시에서 명확했지만 여전히 당신을 명확히한다고 생각했습니다. 고마워 – dhaval

답변

1

내가 당신이 오해했을 수 있다고 생각 로그인에 대한 전체 URL createLoginURL의 사용과 목적. 이 메소드는 사용자가 응용 프로그램과 응용 프로그램에만 로그인 할 수있게 해주는 URL을 제공하기위한 것입니다. 사이트와 같은 다른 Google 서비스에 로그인하는 수단을 제공하지 않습니다.

응용 프로그램에 로그온하여 사이트 또는 기타 보안 웹 응용 프로그램에 액세스 할 수는 있지만 Google AppEngine에서는 통조림으로 제공하지 않습니다. 직접 코드를 작성해야합니다.

일반적으로 URL을 요청하면 응답의 HTTP 상태 코드 302와 Location 헤더 필드에 로그인 페이지의 URL이 표시됩니다. 그런 다음 해당 페이지에 200 응답으로 돌아와야하는 요청을 보내고 응답 본문 안의 어딘가에 제공해야 할 사용자 이름과 암호 필드가 있어야합니다. 자격 증명이 유효하면 서버는 각 후속 요청에서 전달할 인증 쿠키를 반환 할 수 있습니다.

Python에 익숙하다면 AppEngine MVC 프레임 워크 프로젝트의 일부 코드에서 어떻게 작동하는지 예제를 볼 수 있습니다. 이 파일을보고 http://code.google.com/p/gae-mvc-engine/source/browse/trunk/MVCTests.py 그리고 ActiontestCase.run_action 메소드를 확인하십시오. AppEngine 응용 프로그램에 인증이 필요한 요청을 처리합니다. 그것은 아직 끔찍하게 잘 설명되지 않았고, 나는 그것에 대해 찬사를 드린다. 그러나 유용한 예를 제공하기를 희망한다. 참으로, 나는 문제의 본질을 정확하게 이해했다면.

관련 문제