Esempio n. 1
0
 def authenticate(self, request, authorization_request):
     user = request.user
     if not user.is_authenticated():
         return handle_login_request(request, authorization_request_key=authorization_request.key)
     #if True:
     #    return handle_scope_request(request, authorization_request_key=authorization_request.key)
     return authorization_grant_response(authorization_request, user, '')
Esempio n. 2
0
def handle_scope_response(request):
    authorization_request = get_object_or_404(AuthorizationRequest, key=request.POST.get('authorization_request_key'))
    form = ScopeForm(authorization_request, data=request.POST)
    if form.is_valid():
        status = form.cleaned_data.get('status')
        scope = form.cleaned_data.get('scope')
        if status == STATUS_GRANT:
            return authorization_grant_response(authorization_request, request.user, scope)
        return authorization_deny_response(authorization_request)
    return generate_scope_page(request, form, authorization_request)
Esempio n. 3
0
def handle_login_response(request):
    form = AuthenticationForm(data=request.POST)
    if form.is_valid():
        auth_login(request, form.get_user())
        if request.session.test_cookie_worked():
            request.session.delete_test_cookie()
        if True:
            authorization_request = get_object_or_404(
                AuthorizationRequest,
                key=form.cleaned_data.get('authorization_request_key')
            )
            return authorization_grant_response(authorization_request, request.user, '')
        return handle_scope_request(request, form.cleaned_data.get('authorization_request_key'))
    return generate_login_page(request, form)
Esempio n. 4
0
 def test_token(self):
     redirect_uri = 'http://www.google.fr'
     c = Client.objects.create(
         key='test',
         name='test client',
         authorized_reponse_types=appconsts.RESPONSE_TYPES,
     )
     r = AuthorizationRequest.objects.create(
         response_type=appconsts.RESPONSE_TYPE_TOKEN,
         client=c,
         redirect_uri=redirect_uri,
     )
     user = self.getuser()
     response = authorization_grant_response(r, user, 'foobar')
     self.assertAuthorizeGrantToken(
         response,
         redirect_uri,
         AccessToken.objects.get().token,
     )