idp_oidc: fix MissingParameter initialization (#50217)

This commit is contained in:
Serghei Mihai 2021-01-18 10:05:16 +01:00
parent 78dff608b8
commit 230cec28eb
2 changed files with 12 additions and 5 deletions

View File

@ -128,8 +128,8 @@ class InvalidToken(OIDCException):
class MissingParameter(InvalidRequest):
def __init__(self, parameter):
super().__init__(error_description=_('Missing parameter "%s"') % parameter)
def __init__(self, parameter, **kwargs):
super().__init__(error_description=_('Missing parameter "%s"') % parameter, **kwargs)
class UnsupportedResponseType(OIDCException):

View File

@ -778,11 +778,18 @@ def test_invalid_request(oidc_client, caplog, oidc_settings, simple_user, app):
assert query['code'] == [code.uuid]
code = query['code'][0]
token_url = make_url('oidc-token')
response = app.post(token_url, params={
params = {
'grant_type': 'authorization_code',
'code': code,
'redirect_uri': oidc_client.redirect_uris.split()[0],
}, headers=client_authentication_headers(oidc_client), status=400)
}
response = app.post(token_url, params=params,
headers=client_authentication_headers(oidc_client), status=400)
assert response.json['error'] == 'invalid_request'
assert response.json['error_description'] == 'Missing parameter "code"'
params['code'] = code
response = app.post(token_url, params=params,
headers=client_authentication_headers(oidc_client), status=400)
assert 'error' in response.json
assert response.json['error'] == 'invalid_request'
assert response.json['error_description'] == 'Parameter "code" has expired or user is disconnected'