annotate get_agent.py @ 41:293a694304b8

reformat
author drewp@bigasterisk.com
date Sat, 19 Nov 2022 17:18:55 -0800
parents c538dc39b851
children 530650b3bc40
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
39
c538dc39b851 user login fixes
drewp@bigasterisk.com
parents:
diff changeset
1 import logging
c538dc39b851 user login fixes
drewp@bigasterisk.com
parents:
diff changeset
2
c538dc39b851 user login fixes
drewp@bigasterisk.com
parents:
diff changeset
3 import bottle
c538dc39b851 user login fixes
drewp@bigasterisk.com
parents:
diff changeset
4 import jwt
c538dc39b851 user login fixes
drewp@bigasterisk.com
parents:
diff changeset
5 from rdflib import URIRef
c538dc39b851 user login fixes
drewp@bigasterisk.com
parents:
diff changeset
6
c538dc39b851 user login fixes
drewp@bigasterisk.com
parents:
diff changeset
7 log = logging.getLogger(__name__)
c538dc39b851 user login fixes
drewp@bigasterisk.com
parents:
diff changeset
8
c538dc39b851 user login fixes
drewp@bigasterisk.com
parents:
diff changeset
9 jwks_client = jwt.PyJWKClient(uri='https://authenticate.bigasterisk.com/.well-known/pomerium/jwks.json')
c538dc39b851 user login fixes
drewp@bigasterisk.com
parents:
diff changeset
10
c538dc39b851 user login fixes
drewp@bigasterisk.com
parents:
diff changeset
11
c538dc39b851 user login fixes
drewp@bigasterisk.com
parents:
diff changeset
12 def bottleGetAgent() -> URIRef:
c538dc39b851 user login fixes
drewp@bigasterisk.com
parents:
diff changeset
13 pomAssertion = bottle.request.headers.get('X-Pomerium-Jwt-Assertion', None)
c538dc39b851 user login fixes
drewp@bigasterisk.com
parents:
diff changeset
14
c538dc39b851 user login fixes
drewp@bigasterisk.com
parents:
diff changeset
15 sk = jwks_client.get_signing_key_from_jwt(pomAssertion)
41
293a694304b8 reformat
drewp@bigasterisk.com
parents: 39
diff changeset
16 j = jwt.decode(pomAssertion, key=sk.key, algorithms=['ES256'], audience="bigasterisk.com")
39
c538dc39b851 user login fixes
drewp@bigasterisk.com
parents:
diff changeset
17
c538dc39b851 user login fixes
drewp@bigasterisk.com
parents:
diff changeset
18 foaf = {
c538dc39b851 user login fixes
drewp@bigasterisk.com
parents:
diff changeset
19 'drewpca@gmail.com': 'http://bigasterisk.com/foaf.rdf#drewp',
c538dc39b851 user login fixes
drewp@bigasterisk.com
parents:
diff changeset
20 'kelsimp@gmail.com': 'http://bigasterisk.com/kelsi/foaf.rdf#kelsi',
c538dc39b851 user login fixes
drewp@bigasterisk.com
parents:
diff changeset
21 }[j['email']]
c538dc39b851 user login fixes
drewp@bigasterisk.com
parents:
diff changeset
22 return URIRef(foaf)