0

我正在按照教程学习如何让 OAuth2.0 登录到我的网站,但遇到了一些问题。我的网站已在 GAE 上注册,并且我有我的客户 ID。我也pip install编了google-api-python-client。但是,我不知道将什么导入到我的项目中。我的应用程序中有两个页面。一个处理授权,一个实际拥有页面。

授权.py

import cgi, webapp2
from google.appengine.api import users

LOGIN_PAGE_HTML="""\
<html>
  <body>
    <input type="submit" method="post" action="/AuthorizeUser"/>
  </body>
</html>
"""

class LoginPage(webapp2.RequestHandler):
  def get(self):
    self.response.write(LOGIN_PAGE_HTML)

class AuthorizeUser(webapp2.RequestHandler):
  def post(self):
    state = ''.join(random.choice(string.ascii_uppercase + string.digits)for x in xrange(32))
    session['state'] = state
    response = make_response('/LandingPage',
                             CLIENT_ID='MY ID',
                             STATE=state
                             APPLICATION_NAME='Summit Tech Help'))
    if request.args.get('state','') != session['state']:
      response = make_response(json.dumps('Invalid state parameter.'), 401)
      response.headers['Content-Type'] = 'application/json'
      return response






application = webapp2.WSGIApplication([
    ('/',LoginPage),
    ('/AuthorizeUser',AuthorizeUser),
], debug=True)

登陆.py

import cgi, webapp2
from google.appengine.api import mail

LANDING_PAGE_HTML="""\
<html>
    <body>
      <p>test</p>
    </body>
</html>

"""

class LandingPage(webapp2.RequestHandler):
    def get(self):
        self.response.write(LANDING_PAGE_HTML)

application = webapp2.WSGIApplication([
('LandingPage',LandingPage),
],debug=True)

app.yaml的 '-url: /.*' 设置为script:authorize.application

任何帮助将非常感激!

~地毯嘶嘶声

4

1 回答 1

0

要使用第 3 方模块,您需要在您的应用程序中导入它,如果这是您要问的,也请检查此链接以在 gae 中使用外部库。

您可以查看此示例应用程序以在 GAE 中使用 Oauth2.0

于 2013-10-11T17:30:09.063 回答