def test_userinfo_request(self): aresp = AuthorizationResponse(code="code", state="state000") tresp = AccessTokenResponse( access_token="access_token", token_type="Bearer", expires_in=600, refresh_token="refresh", scope=["openid"], ) self.client.parse_response( AuthorizationResponse, aresp.to_urlencoded(), sformat="urlencoded", state="state0", ) self.client.parse_response(AccessTokenResponse, tresp.to_json(), state="state0") path, body, method, h_args = self.client.user_info_request( state="state0") assert path == "http://example.com/userinfo" assert method == "GET" assert body is None assert h_args == {"headers": {"Authorization": "Bearer access_token"}}
def test_userinfo_request_post(self): aresp = AuthorizationResponse(code="code", state="state000") tresp = AccessTokenResponse( access_token="access_token", token_type="bearer", expires_in=600, refresh_token="refresh", scope=["openid"], ) self.client.parse_response( AuthorizationResponse, aresp.to_urlencoded(), sformat="urlencoded", state="state0", ) self.client.parse_response(AccessTokenResponse, tresp.to_json(), state="state0") path, body, method, h_args = self.client.user_info_request( method="POST", state="state0") assert path == "http://example.com/userinfo" assert method == "POST" assert body == "access_token=access_token" assert h_args == { "headers": { "Content-Type": "application/x-www-form-urlencoded" } }
def test_get_session_management_id(self): now = utc_time_sans_frac() smid = "session_management_id" idval = { "nonce": "KUEYfRM2VzKDaaKD", "sub": "EndUserSubject", "iss": "https://example.com", "exp": now + 3600, "iat": now, "aud": self.consumer.client_id, "sid": smid, } idts = IdToken(**idval) _signed_jwt = idts.to_jwt(key=KC_RSA.keys(), algorithm="RS256") _state = "state" self.consumer.sdb[_state] = { "redirect_uris": ["https://example.org/cb"] } resp = AuthorizationResponse(id_token=_signed_jwt, state=_state) self.consumer.consumer_config["response_type"] = ["id_token"] self.consumer.parse_authz(resp.to_urlencoded()) assert self.consumer.sso_db["state"]["smid"] == smid assert session_get(self.consumer.sso_db, "smid", smid) == [_state]
def test_userinfo_request(self): aresp = AuthorizationResponse(code="code", state="state000") tresp = AccessTokenResponse(access_token="access_token", token_type="Bearer", expires_in=600, refresh_token="refresh", scope=["openid"]) self.client.parse_response(AuthorizationResponse, aresp.to_urlencoded(), sformat="urlencoded", state="state0") self.client.parse_response(AccessTokenResponse, tresp.to_json(), state="state0") path, body, method, h_args = self.client.user_info_request( state="state0") assert path == "http://example.com/userinfo" assert method == "GET" assert body is None assert h_args == {'headers': {'Authorization': 'Bearer access_token'}}
def test_userinfo_request_post(self): aresp = AuthorizationResponse(code="code", state="state000") tresp = AccessTokenResponse(access_token="access_token", token_type="bearer", expires_in=600, refresh_token="refresh", scope=["openid"]) self.client.parse_response(AuthorizationResponse, aresp.to_urlencoded(), sformat="urlencoded", state="state0") self.client.parse_response(AccessTokenResponse, tresp.to_json(), state="state0") path, body, method, h_args = self.client.user_info_request( method="POST", state="state0") assert path == "http://example.com/userinfo" assert method == "POST" assert body == "access_token=access_token" assert h_args == {'headers': { 'Content-Type': 'application/x-www-form-urlencoded'}}