2012-06-26 2 views
3

После работы на каком-то тестовый коде для аутентификации Open ID, у меня был перерыв, и когда я вернулся, обнаружил, что столкнулся с этим странным предупреждающим сообщением от GAE:Google App аутентификации двигателя неудача

Error: Unauthorized 
Your client does not have permission to the requested URL /. 

Вот код, я использую как для кода .pl и .yaml

version: 1 
runtime: python 
api_version: 1 

builtins: 
- remote_api: on 

handlers: 
- url:/
    script: do_openid_login.py 
    login: required 
    auth_fail_action: unauthorized 

- url: /_ah/login_required 
    script: do_openid_login.py 
    login: required 
    auth_fail_action: unauthorized 

и

class MyLogin(webapp.RequestHandler): 
    def get(self): 
     user = users.get_current_user() 
     if user: 
      greeting = ("Welcome, %s %s %s! (<a href=\"%s\">sign out</a>)" % 
         (user.nickname(), user.email(), user.user_id(), users.create_logout_url("/"))) 
     else: 
      greeting = ("<a href=\"%s\">Sign in or register</a>." % 
         users.create_login_url("/")) 

     self.response.out.write("<html><body>%s</body></html>" % greeting) 


application = webapp.WSGIApplication([ 
    ('/', MyLogin), 
], debug=True) 


def main(): 
    run_wsgi_app(application) 

if __name__ == '__main__': 
    main() 

Is Ther что-то изменилось? или я сделал что-то глупое? Благодарю.

ответ

4

Вы установили / в login: required, что означает, что вы должны быть уже авторизованы, прежде чем обращаться к нему.

Скорее всего, вы испытывали, не имея login: required в вашем app.yaml и вы уже вошли в систему. Вы добавили, что линия, и все шло хорошо, но как только вы вышли из системы или перезагрузки сервера вы не вошли в систему больше, так что вы получил эту ошибку.

Вы должны пересмотреть свое сопоставление URL-адресов и какие URL-адреса должны иметь этот параметр, а какие нет, чтобы не нарушать работу. Подумайте также о том, чтобы использовать перенаправления, если пользователь не вошел в систему или не указал другие ответы в противном случае.

+1

Действительно правильно. Благодаря! – Androidian

Смежные вопросы