-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathhelpers.py
35 lines (24 loc) · 853 Bytes
/
helpers.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
import asyncio
import json
from okta_jwt_verifier import AccessTokenVerifier, IDTokenVerifier
loop = asyncio.get_event_loop()
def is_access_token_valid(token, issuer):
jwt_verifier = AccessTokenVerifier(issuer=issuer, audience='api://default')
try:
loop.run_until_complete(jwt_verifier.verify(token))
return True
except Exception:
return False
def is_id_token_valid(token, issuer, client_id, nonce):
jwt_verifier = IDTokenVerifier(issuer=issuer, client_id=client_id, audience='api://default')
try:
loop.run_until_complete(jwt_verifier.verify(token, nonce=nonce))
return True
except Exception:
return False
def load_config(fname='./client_secrets.json'):
config = None
with open(fname) as f:
config = json.load(f)
return config
config = load_config()