@@ -382,10 +382,11 @@ def test_invalid_token(self):
382382 assert args ["error_description" ] == "Invalid Token"
383383
384384 def test_userinfo_claims (self ):
385+ _acr = "https://refeds.org/profile/mfa"
385386 _auth_req = AUTH_REQ .copy ()
386- _auth_req ["claims" ] = {"userinfo" : {"acr" : {"value" : "https://refeds.org/profile/mfa" }}}
387+ _auth_req ["claims" ] = {"userinfo" : {"acr" : {"value" : _acr }}}
387388
388- session_id = self ._create_session (_auth_req , authn_info = "https://refeds.org/profile/mfa" )
389+ session_id = self ._create_session (_auth_req , authn_info = _acr )
389390 grant = self .session_manager [session_id ]
390391 code = self ._mint_code (grant , session_id )
391392 access_token = self ._mint_token ("access_token" , grant , session_id , code )
@@ -396,4 +397,24 @@ def test_userinfo_claims(self):
396397 args = self .endpoint .process_request (_req )
397398 assert args
398399 res = self .endpoint .do_response (request = _req , ** args )
399- assert res
400+ _response = json .loads (res ["response" ])
401+ assert _response ["acr" ] == _acr
402+
403+ def test_userinfo_claims_acr_none (self ):
404+ _acr = "https://refeds.org/profile/mfa"
405+ _auth_req = AUTH_REQ .copy ()
406+ _auth_req ["claims" ] = '{"userinfo": {"acr": null}}'
407+
408+ session_id = self ._create_session (_auth_req , authn_info = _acr )
409+ grant = self .session_manager [session_id ]
410+ code = self ._mint_code (grant , session_id )
411+ access_token = self ._mint_token ("access_token" , grant , session_id , code )
412+
413+ http_info = {"headers" : {"authorization" : "Bearer {}" .format (access_token .value )}}
414+ _req = self .endpoint .parse_request ({}, http_info = http_info )
415+
416+ args = self .endpoint .process_request (_req )
417+ assert args
418+ res = self .endpoint .do_response (request = _req , ** args )
419+ _response = json .loads (res ["response" ])
420+ assert _response ["acr" ] == _acr
0 commit comments