2013-05-10 51 views
2

我正在使用OAuth2Decorator()和Pytgon我正处于那个阶段,我仍然不确定关于App Engine的一些事情。文档没有提供任何信息,或者我根本无法遵循它。所以:OAuth2Decorator是否存储用户凭证并更新令牌?

OAuth2Decorator()存储用户Crediantials?

OAuth2Decorator()会自动检索新令牌吗?

求索如下例所示:

decorator = OAuth2Decorator(...) 
service = build("drive", "v2") 

class AppHandler(BaseHandler): 
    @decorator.oauth_aware 
    def get(self): 
     if decorator.has_credentials(): 
      init = service.files().list().execute(decorator.http()) 
      items = init['items'] 
      context = {'data': getitems(items)} 
      self.render_response('index.html',**context) 
     else: 
      url = decorator.authorize_url() 
      self.redirect(url) 

回答

3

凭证得到存储CredentialsModel在数据存储中。

如果请求的访问是'离线'(我相信这是默认设置),那么将在临时访问令牌旁边存储一个'刷新令牌'。如果使用凭证封装的Http客户端发出请求,则在收到指示访问令牌已过期的响应时,客户端会自动请求获取新的访问令牌,然后重新尝试原始请求访问令牌,然后将其存储在过期的位置。