Beispiel #1
0
 def _get_authorization_code_token(self):
     """
     Generate an access token after authorization_code authorization.
     """
     access_token = AccessTokenDAO.create(self.client.id, self.user)
     CodeDAO.delete(self.code)
     return access_token
Beispiel #2
0
 def _validate_authorization_code(self):
     """
     Validate an authorization_code request.
     """
     if not self.code_key:
         raise InvalidRequest('No code_key provided')
     self.code = CodeDAO.get(key=self.code_key)
     if not self.code:
         raise InvalidRequest('No such code: %s' % self.code_key)
     if self.code.expire < time.time():
         raise InvalidGrant("Provided code is expired")
     if self.redirect_uri is None:
         raise InvalidRequest('No redirect_uri')
     if normalize(self.redirect_uri) != normalize(self.code.redirect_uri):
         raise InvalidRequest("redirect_uri doesn't match")
Beispiel #3
0
 def grant_redirect(self, client_id, user_id, redirect_uri, scope):
     code = CodeDAO.create(client_id=client_id, user_id=user_id, redirect_uri=redirect_uri, scope=scope)
     parameters = {"code": code.key}
     redirect_uri = add_parameters(redirect_uri, parameters)
     return redirect_uri