Use pyjwkest in encode_id_token function.
This commit is contained in:
parent
2065c06dab
commit
bedd114929
1 changed files with 9 additions and 3 deletions
|
@ -2,8 +2,10 @@ from datetime import timedelta
|
||||||
import time
|
import time
|
||||||
import uuid
|
import uuid
|
||||||
|
|
||||||
|
from Crypto.PublicKey.RSA import importKey
|
||||||
from django.utils import timezone
|
from django.utils import timezone
|
||||||
import jwt
|
from jwkest.jwk import RSAKey
|
||||||
|
from jwkest.jws import JWS
|
||||||
|
|
||||||
from oidc_provider.lib.utils.common import get_issuer, get_rsa_key
|
from oidc_provider.lib.utils.common import get_issuer, get_rsa_key
|
||||||
from oidc_provider.models import *
|
from oidc_provider.models import *
|
||||||
|
@ -44,13 +46,17 @@ def create_id_token(user, aud, nonce):
|
||||||
return dic
|
return dic
|
||||||
|
|
||||||
|
|
||||||
def encode_id_token(dic):
|
def encode_id_token(payload):
|
||||||
"""
|
"""
|
||||||
Represent the ID Token as a JSON Web Token (JWT).
|
Represent the ID Token as a JSON Web Token (JWT).
|
||||||
|
|
||||||
Return a hash.
|
Return a hash.
|
||||||
"""
|
"""
|
||||||
return jwt.encode(dic, get_rsa_key(), algorithm='RS256').decode('utf-8')
|
keys = [ RSAKey(key=importKey(get_rsa_key())) ]
|
||||||
|
_jws = JWS(payload, alg='RS256')
|
||||||
|
_jwt = _jws.sign_compact(keys)
|
||||||
|
|
||||||
|
return _jwt
|
||||||
|
|
||||||
|
|
||||||
def create_token(user, client, id_token_dic, scope):
|
def create_token(user, client, id_token_dic, scope):
|
||||||
|
|
Loading…
Reference in a new issue