DEBUG:illumidesk.lti13.auth:Getting lms access token with parameters {'iss': '161500000000000001', 'sub': '161500000000000001', 'aud': 'https://app.thisismetis.com/login/oauth2/token', 'iat': 1594664984, 'exp': 1594665049, 'jti': 'e4c98abe-a6cc-4f44-ab27-69136ba6b793'}
DEBUG:illumidesk.lti13.auth:Obtaining token b'eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6InZIeExybnlMNGVHOGhIdnoxekQ3SHVsQkVvTV9iejhuYnNuMGZXRlFTU3MifQ.eyJpc3MiOiIxNjE1MDAwMDAwMDAwMDAwMDEiLCJzdWIiOiIxNjE1MDAwMDAwMDAwMDAwMDEiLCJhdWQiOiJodHRwczovL2FwcC50aGlzaXNtZXRpcy5jb20vbG9naW4vb2F1dGgyL3Rva2VuIiwiaWF0IjoxNTk0NjY0OTg0LCJleHAiOjE1OTQ2NjUwNDksImp0aSI6ImU0Yzk4YWJlLWE2Y2MtNGY0NC1hYjI3LTY5MTM2YmE2Yjc5MyJ9.WlZytMiy_AcQTwcRgW6X3HXTK--bWd28R1iUhAGd6p8J7iIVz821w6W_T3VINh34Q1U0AZSZAF2fat7SgnhfXya7RLlprzZlrDsqiIuGdRZDkDjm8X6LceYdrJsCp4IDge-LbbQEmq5oKHZOSM4eZBDa43iAyx39Xnt-lxk5DEKAnvDhX0WMioUbXKjAx1-goTxsbBBPI6uy_JftCK65ohOXWAmUvuUoDrz9Ph6T3Dety5ucCbqYBtvVLtcd3-ult0DPssvi8gp11SFl_GgNRBkPAAN4_aEkp6npoilguPk_KlKJ-DFya-NVbZFFCzRHAKer_yE0TWWx3S6EutGdRhAaCE7hZJ5ae7iiiIGQ0xcdRZZu7g_QTGgaKjj6cm_V9QSqv5ib8wIQyRmXHFGmZ221PIPdL-2NBfXBJVLIg5mw684EG7xHGd0zO5kkgjunmxRu8p2nFC2j445NGcoTlTxA4sUF017JwCKTyjbhPXmENy2CIvGtdFJ6vHX37zKX9Sc0saxQlT3aV61_-WxsD-6AJ8A0g4QXWUNcx3UwgsseaqM__Z3py6TD4Epc_2cgF9E_pj3VGprdSfgWj2fcCLpBVblyiPdHFvBU8tLpfaTWh6up0G5R-sK9FaZiL6SVFe_Lg82pNVoy0pmFcp8akFfyK8LO6oETHGtDTUiL_r8'
DEBUG:illumidesk.lti13.auth:Scope is https://purl.imsglobal.org/spec/lti-ags/scope/score https://purl.imsglobal.org/spec/lti-ags/scope/lineitem https://purl.imsglobal.org/spec/lti-ags/scope/result.readonly https://purl.imsglobal.org/spec/lti-ags/scope/lineitem.readonly
DEBUG:illumidesk.lti13.auth:OAuth parameters are {'grant_type': 'client_credentials', 'client_assertion_type': 'urn:ietf:params:oauth:client-assertion-type:jwt-bearer', 'client_assertion': 'eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6InZIeExybnlMNGVHOGhIdnoxekQ3SHVsQkVvTV9iejhuYnNuMGZXRlFTU3MifQ.eyJpc3MiOiIxNjE1MDAwMDAwMDAwMDAwMDEiLCJzdWIiOiIxNjE1MDAwMDAwMDAwMDAwMDEiLCJhdWQiOiJodHRwczovL2FwcC50aGlzaXNtZXRpcy5jb20vbG9naW4vb2F1dGgyL3Rva2VuIiwiaWF0IjoxNTk0NjY0OTg0LCJleHAiOjE1OTQ2NjUwNDksImp0aSI6ImU0Yzk4YWJlLWE2Y2MtNGY0NC1hYjI3LTY5MTM2YmE2Yjc5MyJ9.WlZytMiy_AcQTwcRgW6X3HXTK--bWd28R1iUhAGd6p8J7iIVz821w6W_T3VINh34Q1U0AZSZAF2fat7SgnhfXya7RLlprzZlrDsqiIuGdRZDkDjm8X6LceYdrJsCp4IDge-LbbQEmq5oKHZOSM4eZBDa43iAyx39Xnt-lxk5DEKAnvDhX0WMioUbXKjAx1-goTxsbBBPI6uy_JftCK65ohOXWAmUvuUoDrz9Ph6T3Dety5ucCbqYBtvVLtcd3-ult0DPssvi8gp11SFl_GgNRBkPAAN4_aEkp6npoilguPk_KlKJ-DFya-NVbZFFCzRHAKer_yE0TWWx3S6EutGdRhAaCE7hZJ5ae7iiiIGQ0xcdRZZu7g_QTGgaKjj6cm_V9QSqv5ib8wIQyRmXHFGmZ221PIPdL-2NBfXBJVLIg5mw684EG7xHGd0zO5kkgjunmxRu8p2nFC2j445NGcoTlTxA4sUF017JwCKTyjbhPXmENy2CIvGtdFJ6vHX37zKX9Sc0saxQlT3aV61_-WxsD-6AJ8A0g4QXWUNcx3UwgsseaqM__Z3py6TD4Epc_2cgF9E_pj3VGprdSfgWj2fcCLpBVblyiPdHFvBU8tLpfaTWh6up0G5R-sK9FaZiL6SVFe_Lg82pNVoy0pmFcp8akFfyK8LO6oETHGtDTUiL_r8', 'scope': 'https://purl.imsglobal.org/spec/lti-ags/scope/score https://purl.imsglobal.org/spec/lti-ags/scope/lineitem https://purl.imsglobal.org/spec/lti-ags/scope/result.readonly https://purl.imsglobal.org/spec/lti-ags/scope/lineitem.readonly'}
[D 2020-07-13 18:29:50.257 JupyterHub handlers:114] public_key is b'-----BEGIN PUBLIC KEY-----\nMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAxJcOmxiYxjMG8TzMYNVi\nT/p2zzm5myZ22gSHeixPZHcDixl3Ly7QG4Pl8/mMZyR5gAvGEWTv2oaMW032Beox\nm4EPONwbJ1xh7UjVCgEtzxD2LGkS7JPO0sd3jfcEvLt8/Dw/JukNms5fnDWIAAAi\nCMHsfjazoJNvvdwCsMo33JTfBailSRxdOMFrix9ufzbz+sYVtO2WmwWKyst6ApOC\nS/SMxNbZzNX1qGltl0SR/wvtYWMGW90io6j7fq4LmFjEerkQnKWBOv0bur8zaSPa\ndUBfzDHinRZClhZcilPoIfTSfdzVPEZSaUjYELPnRO63Xlc51CASvpEzWR8kYxig\n3FBrX5ZxEnpY7i50X0nk2RsrlkQZojqLBcm7EkXFbybXMnK5HlW25EQIbIcBTccD\nqfYGXW6XMeEES+/vQj2N6NWO4x5GLCNaeYhtCq7c36hRqcODyS35onwUbDe4EEjn\nO3Fx/dYA6smVdQ5TGgMwJlRgAQsbt7EKjytj+dKmMtl1DtxNAsiZsPNkYG4jWMu4\n7r8P/VcbkU7LicPCSjKXlVrr91IskRo20WV/e3qsxJOYVKBl+1+krJq/dFt+DNsn\n/AVO0KaiXJurxb3QGK4bOA0+rmb8aYgIuXshcodQqBg+o6AsXt6jIcSEcx321BK2\nF0ZO9e4XQ3y2t7V4j8wglyECAwEAAQ==\n-----END PUBLIC KEY-----'
[D 2020-07-13 18:29:50.257 JupyterHub handlers:117] the jwks is {'e': 'AQAB', 'kid': 'vHxLrnyL4eG8hHvz1zD7HulBEoM_bz8nbsn0fWFQSSs', 'kty': 'RSA', 'n': 'xJcOmxiYxjMG8TzMYNViT_p2zzm5myZ22gSHeixPZHcDixl3Ly7QG4Pl8_mMZyR5gAvGEWTv2oaMW032Beoxm4EPONwbJ1xh7UjVCgEtzxD2LGkS7JPO0sd3jfcEvLt8_Dw_JukNms5fnDWIAAAiCMHsfjazoJNvvdwCsMo33JTfBailSRxdOMFrix9ufzbz-sYVtO2WmwWKyst6ApOCS_SMxNbZzNX1qGltl0SR_wvtYWMGW90io6j7fq4LmFjEerkQnKWBOv0bur8zaSPadUBfzDHinRZClhZcilPoIfTSfdzVPEZSaUjYELPnRO63Xlc51CASvpEzWR8kYxig3FBrX5ZxEnpY7i50X0nk2RsrlkQZojqLBcm7EkXFbybXMnK5HlW25EQIbIcBTccDqfYGXW6XMeEES-_vQj2N6NWO4x5GLCNaeYhtCq7c36hRqcODyS35onwUbDe4EEjnO3Fx_dYA6smVdQ5TGgMwJlRgAQsbt7EKjytj-dKmMtl1DtxNAsiZsPNkYG4jWMu47r8P_VcbkU7LicPCSjKXlVrr91IskRo20WV_e3qsxJOYVKBl-1-krJq_dFt-DNsn_AVO0KaiXJurxb3QGK4bOA0-rmb8aYgIuXshcodQqBg-o6AsXt6jIcSEcx321BK2F0ZO9e4XQ3y2t7V4j8wglyE', 'alg': 'RS256', 'use': 'sig'}
[I 2020-07-13 18:29:50.258 JupyterHub log:181] 200 GET /hub/lti13/jwks (@172.31.9.201) 180.37ms
INFO:illumidesk.lti13.auth:Error by obtaining a token with lms. Detail: b'{"error":"invalid_request","error_description":"JWS signature invalid."}'
[E 2020-07-13 18:29:50.343 JupyterHub web:1792] Uncaught exception POST /hub/submit-grades/ds-2020-06/quiz1 (172.31.35.96)
HTTPServerRequest(protocol='https', host='metis.illumidesk.com', method='POST', uri='/hub/submit-grades/ds-2020-06/quiz1', version='HTTP/1.1', remote_ip='172.31.35.96')
Traceback (most recent call last):
File "/usr/local/lib/python3.6/dist-packages/tornado/web.py", line 1703, in _execute
result = await result
File "/usr/local/lib/python3.6/dist-packages/illumidesk/grades/handlers.py", line 51, in post
await lti_grade_sender.send_grades()
File "/usr/local/lib/python3.6/dist-packages/illumidesk/grades/senders.py", line 208, in send_grades
await self._set_access_token_header()
File "/usr/local/lib/python3.6/dist-packages/illumidesk/grades/senders.py", line 191, in _set_access_token_header
token = await get_lms_access_token(self.lms_token_url, self.private_key_path, self.lms_client_id)
File "/usr/local/lib/python3.6/dist-packages/illumidesk/lti13/auth.py", line 66, in get_lms_access_token
resp = await client.fetch(token_endpoint, method='POST', body=body, headers=None)
tornado.httpclient.HTTPClientError: HTTP 400: Bad Request