Exemple #1
0
    def test_good_ticket(self, mock_get):
        mock_get.return_value.text = GOOD_RESPONSE
        assert verify_ticket(
            'some-ticket',
            'https://accounts.ocf.berkeley.edu/',
        ) == '1034192'

        called_url = mock_get.call_args[0][0]
        start = 'https://auth.berkeley.edu/cas/serviceValidate?'
        assert called_url.startswith(start)

        params = called_url[len(start):].split('&')
        assert sorted(params) == [
            'service=https%3A%2F%2Faccounts.ocf.berkeley.edu%2F',
            'ticket=some-ticket',
        ]
Exemple #2
0
    def test_good_ticket(self, mock_get):
        mock_get.return_value.text = GOOD_RESPONSE
        assert verify_ticket(
            'some-ticket',
            'https://accounts.ocf.berkeley.edu/',
        ) == '1034192'

        called_url = mock_get.call_args[0][0]
        start = 'https://auth.berkeley.edu/cas/serviceValidate?'
        assert called_url.startswith(start)

        params = called_url[len(start):].split('&')
        assert sorted(params) == [
            'service=https%3A%2F%2Faccounts.ocf.berkeley.edu%2F',
            'ticket=some-ticket',
        ]
Exemple #3
0
def login(request, next_page=None):
    next_page = request.GET.get(REDIRECT_FIELD_NAME)
    if not next_page:
        next_page = _redirect_url(request)
    if 'calnet_uid' in request.session and request.session['calnet_uid']:
        return _next_page_response(next_page)
    ticket = request.GET.get('ticket')
    service = _service_url(request, next_page)
    if ticket:
        verify_result = cas.verify_ticket(ticket, service)
        verified_uid = int(verify_result) if verify_result else 0
        if verified_uid:
            request.session['calnet_uid'] = verified_uid
        if 'calnet_uid' in request.session and request.session['calnet_uid']:
            return _next_page_response(next_page)
        else:
            return HttpResponseForbidden(
                '<h1>Forbidden</h1><p>CalNet login failed.</p>')
    return HttpResponseRedirect(_login_url(service))
Exemple #4
0
def login(request, next_page=None):
    next_page = request.GET.get(REDIRECT_FIELD_NAME)
    if not next_page:
        next_page = _redirect_url(request)
    if 'calnet_uid' in request.session and request.session['calnet_uid']:
        return _next_page_response(next_page)
    ticket = request.GET.get('ticket')
    service = _service_url(request, next_page)
    if ticket:
        verified_uid = cas.verify_ticket(ticket, service)
        if verified_uid:
            request.session['calnet_uid'] = verified_uid
        if 'calnet_uid' in request.session and request.session['calnet_uid']:
            return _next_page_response(next_page)
        else:
            error = '<h1>Forbidden</h1><p>CalNet login failed.</p>'
            return HttpResponseForbidden(error)
    return render_to_response('redirecting_to_calnet.html', {
        'calnet_url': _login_url(service)
    })
Exemple #5
0
def login(request, next_page=None):
    next_page = request.GET.get(REDIRECT_FIELD_NAME)
    if not next_page:
        next_page = _redirect_url(request)
    if 'calnet_uid' in request.session and request.session['calnet_uid']:
        return _next_page_response(next_page)
    ticket = request.GET.get('ticket')
    service = _service_url(request, next_page)
    if ticket:
        verify_result = cas.verify_ticket(ticket, service)
        verified_uid = int(verify_result) if verify_result else 0
        if verified_uid:
            request.session['calnet_uid'] = verified_uid
        if 'calnet_uid' in request.session and request.session['calnet_uid']:
            return _next_page_response(next_page)
        else:
            return HttpResponseForbidden(
                '<h1>Forbidden</h1><p>CalNet login failed.</p>',
            )
    return HttpResponseRedirect(_login_url(service))
Exemple #6
0
 def test_bad_ticket(self, response, mock_get):
     mock_get.return_value.text = response
     assert verify_ticket(
         'some-ticket',
         'https://accounts.ocf.berkeley.edu/',
     ) is None
Exemple #7
0
 def test_bad_ticket(self, response, mock_get):
     mock_get.return_value.text = response
     assert verify_ticket(
         'some-ticket',
         'https://accounts.ocf.berkeley.edu/',
     ) is None