欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  资讯频道

GAE团队发布新的OpenID 库- AEoid

程序员文章站 2022-03-24 17:21:20
...

近日,Google App Engine团队发布了一个新的OpenID库- AEoid,用于加快和简化OpenID身份验证的处理。AEoid目前还只是在首个alpha阶段。AEoid的目标是为了让用户快速入门,重点在于配置的优化。并不需要拥有任何OpenID的经验,可立即开始使用。

 

AEoid的接口与App Engine Users API非常相近:

from aeoid import users
class TestData(db.Model):
 user = users.UserProperty()
 
class TestHandler(webapp.RequestHandler):
 def get(self):
    user = users.get_current_user()
    if not user:
      self.redirect(users.create_login_url(self.request.url))
      return
    logging.warn("Logged in as %s (%s)", user.nickname(), user.user_id())
    data = TestData(user=user)
    data.put()

 

他们之间有些许差异。首先,你必须指定一个OpenID URL用以创建一个用户对象。通过OpenID endpoint来确定用户。由于昵称和电子邮件地址是用户产生的,他们没有确认或保证是独一无二的。 is_current_user_admin()并没有得到执行,app.yaml中的login: clauses并不受AEoid的影响,他们仍然使用常规的用户API 进行身份验证。

 

在您的应用程序在安装时,AEoid会使用WSGI中间件的一小部分。随着App Engine's built内置在web应用框架或任何其他框架内,调用run_wsgi_app功能,App Engine配置框架就可以用来安装AEoid。

from aeoid import middleware

def webapp_add_wsgi_middleware(app):
  app = middleware.AeoidMiddleware(app)
  return app

 

框架并没有使用run_wsgi_app,需要在processing chain中插入一个中间件

application = webapp.WSGIApplication([
    # ...
], debug=True)
application = middleware.AeoidMiddleware(application)

 

点击查看详情:http://java.dzone.com/news/aeoid-openid-library-gae

相关标签: GAE