mirror of
https://github.com/mediacms-io/mediacms.git
synced 2026-01-20 07:12:58 -05:00
wtv
This commit is contained in:
11
lti/keys.py
11
lti/keys.py
@@ -4,13 +4,20 @@ LTI Key Management for MediaCMS
|
|||||||
Manages RSA keys for signing Deep Linking responses (stored in database)
|
Manages RSA keys for signing Deep Linking responses (stored in database)
|
||||||
"""
|
"""
|
||||||
|
|
||||||
|
from jwcrypto import jwk
|
||||||
|
|
||||||
|
|
||||||
def load_private_key():
|
def load_private_key():
|
||||||
"""Load private key from database"""
|
"""Load private key from database and convert to PEM format for PyJWT"""
|
||||||
from .models import LTIToolKeys
|
from .models import LTIToolKeys
|
||||||
|
|
||||||
key_obj = LTIToolKeys.get_or_create_keys()
|
key_obj = LTIToolKeys.get_or_create_keys()
|
||||||
return key_obj.private_key_jwk
|
|
||||||
|
# Convert JWK dict to PEM string (PyJWT needs PEM format)
|
||||||
|
jwk_obj = jwk.JWK(**key_obj.private_key_jwk)
|
||||||
|
pem_bytes = jwk_obj.export_to_pem(private_key=True, password=None)
|
||||||
|
|
||||||
|
return pem_bytes.decode('utf-8')
|
||||||
|
|
||||||
|
|
||||||
def load_public_key():
|
def load_public_key():
|
||||||
|
|||||||
Reference in New Issue
Block a user