@@ -90,15 +90,18 @@ def mock_keycloak_well_known(server_app_settings, respx_mock):
9090 server_url = keycloak_settings .server_url
9191 realm_name = keycloak_settings .realm_name
9292
93- respx_mock .get (f"{ server_url } /realms/{ realm_name } /.well-known/openid-configuration" ).respond (
93+ realm_url = f"{ server_url } /realms/{ realm_name } "
94+ well_known_url = f"{ realm_url } /.well-known/openid-configuration"
95+ openid_url = f"{ realm_url } /protocol/openid-connect"
96+ respx_mock .get (well_known_url ).respond (
9497 status_code = 200 ,
9598 json = {
96- "authorization_endpoint " : f" { server_url } /realms/ { realm_name } /protocol/openid-connect/auth" ,
97- "token_endpoint " : f"{ server_url } /realms/ { realm_name } /protocol/openid-connect/token " ,
98- "userinfo_endpoint " : f"{ server_url } /realms/ { realm_name } /protocol/openid-connect/userinfo " ,
99- "end_session_endpoint " : f"{ server_url } /realms/ { realm_name } /protocol/openid-connect/logout " ,
100- "jwks_uri " : f"{ server_url } /realms/ { realm_name } /protocol/openid-connect/certs " ,
101- "issuer " : f"{ server_url } /realms/ { realm_name } " ,
99+ "issuer " : realm_url ,
100+ "authorization_endpoint " : f"{ openid_url } /auth " ,
101+ "token_endpoint " : f"{ openid_url } /token " ,
102+ "userinfo_endpoint " : f"{ openid_url } /userinfo " ,
103+ "end_session_endpoint " : f"{ openid_url } /logout " ,
104+ "jwks_uri " : f"{ openid_url } /certs " ,
102105 },
103106 content_type = "application/json" ,
104107 )
@@ -111,13 +114,15 @@ def mock_keycloak_realm(server_app_settings, rsa_keys, respx_mock):
111114 realm_name = keycloak_settings .realm_name
112115 public_pem_str = get_public_key_pem (rsa_keys ["public_key" ])
113116
114- respx_mock .get (f"{ server_url } /realms/{ realm_name } " ).respond (
117+ realm_url = f"{ server_url } /realms/{ realm_name } "
118+ openid_url = f"{ realm_url } /protocol/openid-connect"
119+ respx_mock .get (realm_url ).respond (
115120 status_code = 200 ,
116121 json = {
117122 "realm" : realm_name ,
118123 "public_key" : public_pem_str ,
119- "token-service" : f"{ server_url } /realms/ { realm_name } /protocol/openid-connect /token" ,
120- "account-service" : f"{ server_url } /realms/ { realm_name } /account" ,
124+ "token-service" : f"{ openid_url } /token" ,
125+ "account-service" : f"{ realm_url } /account" ,
121126 },
122127 content_type = "application/json" ,
123128 )
@@ -149,7 +154,9 @@ def mock_keycloak_token_refresh(user, server_app_settings, rsa_keys, respx_mock)
149154 )
150155 new_refresh_token = "mock_new_refresh_token"
151156
152- respx_mock .post (f"{ server_url } /realms/{ realm_name } /protocol/openid-connect/token" ).respond (
157+ realm_url = f"{ server_url } /realms/{ realm_name } "
158+ openid_url = f"{ realm_url } /protocol/openid-connect"
159+ respx_mock .post (f"{ openid_url } /token" ).respond (
153160 status_code = 200 ,
154161 json = {
155162 "access_token" : new_access_token ,
@@ -162,22 +169,28 @@ def mock_keycloak_token_refresh(user, server_app_settings, rsa_keys, respx_mock)
162169
163170
164171@pytest .fixture
165- def mock_keycloak_logout (user , server_app_settings , rsa_keys , respx_mock ):
172+ def mock_keycloak_logout (server_app_settings , respx_mock ):
166173 keycloak_settings = KeycloakSettings .model_validate (server_app_settings .auth .keycloak )
167174 server_url = keycloak_settings .server_url
168175 realm_name = keycloak_settings .realm_name
169- respx_mock .post (f"{ server_url } /realms/{ realm_name } /protocol/openid-connect/logout" ).respond (
176+
177+ realm_url = f"{ server_url } /realms/{ realm_name } "
178+ openid_url = f"{ realm_url } /protocol/openid-connect"
179+ respx_mock .post (f"{ openid_url } /logout" ).respond (
170180 status_code = 204 ,
171181 content_type = "application/json" ,
172182 )
173183
174184
175185@pytest .fixture
176- def mock_keycloak_logout_bad_request (user , server_app_settings , rsa_keys , respx_mock ):
186+ def mock_keycloak_logout_bad_request (server_app_settings , respx_mock ):
177187 keycloak_settings = KeycloakSettings .model_validate (server_app_settings .auth .keycloak )
178188 server_url = keycloak_settings .server_url
179189 realm_name = keycloak_settings .realm_name
180- respx_mock .post (f"{ server_url } /realms/{ realm_name } /protocol/openid-connect/logout" ).respond (
190+
191+ realm_url = f"{ server_url } /realms/{ realm_name } "
192+ openid_url = f"{ realm_url } /protocol/openid-connect"
193+ respx_mock .post (f"{ openid_url } /logout" ).respond (
181194 status_code = 400 ,
182195 content_type = "application/json" ,
183196 )
0 commit comments