Skip to content
GitLab
  • Menu
Projects Groups Snippets
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
  • Sign in
  • W website
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
    • Locked Files
  • Issues 85
    • Issues 85
    • List
    • Boards
    • Service Desk
    • Milestones
    • Iterations
    • Requirements
  • Merge requests 1
    • Merge requests 1
  • Deployments
    • Deployments
    • Releases
  • Packages & Registries
    • Packages & Registries
    • Container Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • Code review
    • Insights
    • Issue
    • Repository
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Commits
  • Issue Boards
Collapse sidebar
  • Video AG Infrastruktur
  • website
  • Issues
  • #383
Closed
Open
Created Sep 02, 2020 by Roman Karwacik@romankMaintainer

Fehlermeldung behandeln

Oftmals passiert es, das trotz erfolgreicher Authentifizierung mit RWTH SSO die Kurse des Nutzers nicht abgerufen werden können. Zum einen dieser allgemeine Fehler (abgefangen in l2pauth.py:84):

finish_oauth failed while getting moodle courses, data={'IsError': True, 'StatusCode': 1, 'StatusInfo': 'Ungültige Anmeldedaten. Versuchen Sie es noch einmal!', 'Data': None}

Aber auch wenn man garkeine Kurse hat (abgefangen in l2pauth.py:84):

finish_oauth failed while getting moodle courses, data={'StatusCode': 0, 'StatusInfo': 'ok', 'IsError': False, 'Data': []}

Und jetzt neu auch wenn Moodle gewartet wird (abgefangen in l2pauth.py:84):

finish_oauth failed while getting moodle courses, data={'StatusCode': 4503, 'IsError': True, 'StatusInfo': 'Moodle ist in Wartung', 'Data': None}

Aber auch unbestimmtere Fehlermeldungen die nicht abgefangen werden und 500 Fehler werfen:

Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/flask/app.py", line 1610, in full_dispatch_request
    rv = self.preprocess_request()
  File "/usr/lib/python3/dist-packages/flask/app.py", line 1831, in preprocess_request
    rv = func()
  File "./l2pauth.py", line 78, in finish_oauth
    data = moodleget('getmyenrolledcourses', token['access_token'])
  File "./l2pauth.py", line 17, in moodleget
    return r.json()
  File "/usr/lib/python3/dist-packages/requests/models.py", line 850, in json
    return complexjson.loads(self.text, **kwargs)
  File "/usr/lib/python3/dist-packages/simplejson/__init__.py", line 516, in loads
    return _default_decoder.decode(s)
  File "/usr/lib/python3/dist-packages/simplejson/decoder.py", line 374, in decode
    obj, end = self.raw_decode(s)
  File "/usr/lib/python3/dist-packages/simplejson/decoder.py", line 404, in raw_decode
    return self.scan_once(s, idx=_w(s, idx).end())
simplejson.scanner.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/flask/app.py", line 1612, in full_dispatch_request
    rv = self.dispatch_request()
  File "/usr/lib/python3/dist-packages/flask/app.py", line 1598, in dispatch_request
    return self.view_functions[rule.endpoint](**req.view_args)
  File "./l2pauth.py", line 46, in start_rwthauth
    code = oauthget('code', scope='userinfo.rwth')
  File "./l2pauth.py", line 21, in oauthget
    r = requests.request('POST', OAUTH_BASE+endpoint, data=args)
  File "/usr/lib/python3/dist-packages/requests/api.py", line 56, in request
    return session.request(method=method, url=url, **kwargs)
  File "/usr/lib/python3/dist-packages/requests/sessions.py", line 488, in request
    resp = self.send(prep, **send_kwargs)
  File "/usr/lib/python3/dist-packages/requests/sessions.py", line 609, in send
    r = adapter.send(request, **kwargs)
  File "/usr/lib/python3/dist-packages/requests/adapters.py", line 473, in send
    raise ConnectionError(err, request=request)
requests.exceptions.ConnectionError: ('Connection aborted.', OSError("(104, 'ECONNRESET')",))
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/flask/app.py", line 1612, in full_dispatch_request
    rv = self.dispatch_request()
  File "/usr/lib/python3/dist-packages/flask/app.py", line 1598, in dispatch_request
    return self.view_functions[rule.endpoint](**req.view_args)
  File "./l2pauth.py", line 46, in start_rwthauth
    code = oauthget('code', scope='userinfo.rwth')
  File "./l2pauth.py", line 21, in oauthget
    r = requests.request('POST', OAUTH_BASE+endpoint, data=args)
  File "/usr/lib/python3/dist-packages/requests/api.py", line 56, in request
    return session.request(method=method, url=url, **kwargs)
  File "/usr/lib/python3/dist-packages/requests/sessions.py", line 488, in request
    resp = self.send(prep, **send_kwargs)
  File "/usr/lib/python3/dist-packages/requests/sessions.py", line 609, in send
    r = adapter.send(request, **kwargs)
  File "/usr/lib/python3/dist-packages/requests/adapters.py", line 487, in send
    raise ConnectionError(e, request=request)
requests.exceptions.ConnectionError: HTTPSConnectionPool(host='oauth.campus.rwth-aachen.de', port=443): Max retries exceeded with url: /oauth2waitress/oauth2.svc/code (Caused by NewConnectionError('<requests.packages.urllib3.connection.VerifiedHTTPSConnection object at 0x7f6a045374e0>: Failed to establish a new connection: [Errno 113] Keine Route zum Zielrechner',))

Es sollte also idealerweise alle Fehler abgefangen werden und der Nutzer darüber informiert werden, dass etwas schief gelaufen ist, und idealerweise bei Verbindungs- oder Wartungsproblemen darüber informiert werden und auf die RWTH Störungswebsite verlinkt werden.

Assignee
Assign to
Time tracking