Пример #1
0
    def handle_noargs(self, **options):
        from django.db import transaction
        from django_oauth2.models import AuthorizationRequest, AccessToken, Code

        now = generate_timestamp()
        AuthorizationRequest.objects.filter(expire__lt=now).delete()
        AccessToken.objects.filter(expire__lt=now).delete()
        Code.objects.filter(expire__lt=now).delete()
        transaction.commit_unless_managed()
Пример #2
0
 def validate(self):
     query_token = self.analyze_query()
     header_token = self.analyze_header()
     body_token = self.analyze_body()
     # Check that only one
     
     self.oauth_token = query_token or header_token or body_token
     
     try: access_token = AccessToken.objects.get(token=self.oauth_token)
     except AccessToken.DoesNotExist:
         raise InvalidToken(_('The access token provided is invalid.'))
     
     if access_token.expire < generate_timestamp():
         raise ExpiredToken(_('The access token provided has expired.'))
Пример #3
0
 def create(self, user, client, redirect_uri, scope=None, expire=None):
     key = generate_unique_key(
         self.model,
         key_length=appconst.CODE_KEY_LENGTH,
         )
     code = self.model(
         key = key,
         client = client,
         active=True,
         expire = expire or generate_timestamp(appsettings.CODE_EXPIRY),
         redirect_uri = redirect_uri,
         #scope = scope,
         user = user,
         )
     code.save()
     return code
Пример #4
0
 def create(self, response_type, client, redirect_uri=None, state=None, scope=None, expire=None):
     key = generate_unique_key(
         self.model,
         key_length=appconst.AUTHORIZATION_REQUEST_KEY_LENGTH,
         )
     authorization_request = self.model(
         key = key,
         response_type = response_type,
         client = client,
         redirect_uri = redirect_uri,
         state = state,
         expire = expire or generate_timestamp(appsettings.AUTHORIZATION_REQUEST_EXPIRY),
         #scope = ' '.join(scope),
         )
     authorization_request.save()
     return authorization_request
Пример #5
0
 def create(self, user, client, refreshable=False, expire=None):
     token = generate_unique_key(
         self.model,
         key_length=appconst.ACCESS_TOKEN_LENGTH,
         key_field='token',
         )
     refresh_token = None
     if refreshable and appsettings.ALLOW_REFRESH_TOKEN:
         refresh_token = generate_unique_key(
             self.model,
             key_length=appconst.REFRESH_TOKEN_LENGTH,
             key_field='refresh_token',
         )
     access_token = self.model(
         token = token,
         refresh_token = refresh_token,
         expire = expire or generate_timestamp(appsettings.ACCESS_TOKEN_EXPIRY),
         client=client,
         user = user,
         )
     access_token.save()
     return access_token