Skip to content

Commit 195e0c2

Browse files
authored
Merge pull request #91 from IdentityPython/entity_id
Getting entity_id
2 parents aa22d9a + f374c0c commit 195e0c2

File tree

8 files changed

+31
-22
lines changed

8 files changed

+31
-22
lines changed

src/idpyoidc/client/claims/oidc.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -75,9 +75,9 @@ class Claims(client_claims.Claims):
7575
"encrypt_id_token_supported": None,
7676
# "grant_types_supported": ["authorization_code", "refresh_token"],
7777
"logo_uri": None,
78-
"id_token_signing_alg_values_supported": metadata.get_signing_algs,
79-
"id_token_encryption_alg_values_supported": metadata.get_encryption_algs,
80-
"id_token_encryption_enc_values_supported": metadata.get_encryption_encs,
78+
"id_token_signing_alg_values_supported": metadata.get_signing_algs(),
79+
"id_token_encryption_alg_values_supported": metadata.get_encryption_algs(),
80+
"id_token_encryption_enc_values_supported": metadata.get_encryption_encs(),
8181
"initiate_login_uri": None,
8282
"jwks": None,
8383
"jwks_uri": None,

src/idpyoidc/client/oidc/access_token.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,8 @@ class AccessToken(access_token.AccessToken):
2626
_include = {"grant_types_supported": ["authorization_code"]}
2727

2828
_supports = {
29-
"token_endpoint_auth_methods_supported": get_client_authn_methods,
30-
"token_endpoint_auth_signing_alg_values_supported": get_signing_algs,
29+
"token_endpoint_auth_methods_supported": get_client_authn_methods(),
30+
"token_endpoint_auth_signing_alg_values_supported": get_signing_algs(),
3131
}
3232

3333
def __init__(self, upstream_get, conf: Optional[dict] = None):

src/idpyoidc/client/rp_handler.py

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
from cryptojwt import as_unicode
99
from cryptojwt.key_jar import init_key_jar
1010
from cryptojwt.utils import as_bytes
11+
from cryptojwt.utils import importer
1112

1213
from idpyoidc import verified_claim_name
1314
from idpyoidc.client.defaults import DEFAULT_CLIENT_CONFIGS
@@ -60,6 +61,14 @@ def __init__(
6061
self.keyjar = init_key_jar(**config.key_conf, issuer_id="")
6162
if not client_configs:
6263
self.client_configs = config.clients
64+
65+
if "client_class" in config:
66+
if isinstance(config["client_class"], str):
67+
self.client_cls = importer(config["client_class"])
68+
else: # assume it's a class
69+
self.client_cls = config["client_class"]
70+
else:
71+
self.client_cls = StandAloneClient
6372
else:
6473
if hash_seed:
6574
self.hash_seed = as_bytes(hash_seed)
@@ -79,6 +88,8 @@ def __init__(
7988
else:
8089
self.client_configs = client_configs
8190

91+
self.client_cls = StandAloneClient
92+
8293
if _jwks_path:
8394
self.jwks_uri = add_path(base_url, _jwks_path)
8495
else:
@@ -95,7 +106,6 @@ def __init__(
95106

96107
self.extra = kwargs
97108

98-
self.client_cls = StandAloneClient
99109
if services is None:
100110
self.services = DEFAULT_OIDC_SERVICES
101111
else:

src/idpyoidc/client/service_context.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -136,16 +136,16 @@ def __init__(
136136
else:
137137
raise ValueError(f"Unknown client type: {client_type}")
138138

139-
if "client_id" in kwargs:
140-
self.entity_id = kwargs["entity_id"]
141-
else:
142-
self.entity_id = config.conf.get("client_id", "")
139+
self.entity_id = kwargs.get("entity_id", kwargs.get("client_id", ""))
140+
if not self.entity_id:
141+
self.entity_id = config.conf.get("entity_id", config.conf.get("client_id"))
142+
143143
self.cstate = cstate or Current()
144144

145145
self.kid = {"sig": {}, "enc": {}}
146146

147147
self.allow = config.conf.get("allow", {})
148-
self.base_url = base_url or config.conf.get("base_url", "")
148+
self.base_url = base_url or config.conf.get("base_url", self.entity_id)
149149
self.provider_info = config.conf.get("provider_info", {})
150150

151151
# Below so my IDE won't complain

src/idpyoidc/server/claims/oidc.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
from typing import Optional
22

3-
from idpyoidc import claims
43
from idpyoidc import metadata
54
from idpyoidc.message.oidc import ProviderConfigurationResponse
65
from idpyoidc.message.oidc import RegistrationRequest
@@ -73,7 +72,7 @@ def __init__(self, prefer: Optional[dict] = None, callback_path: Optional[dict]
7372

7473
def verify_rules(self, supports):
7574
if self.get_preference("request_parameter_supported") and self.get_preference(
76-
"request_uri_parameter_supported"
75+
"request_uri_parameter_supported"
7776
):
7877
raise ValueError(
7978
"You have to chose one of 'request_parameter_supported' and "

src/idpyoidc/server/oauth2/authorization.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -354,9 +354,9 @@ class Authorization(Endpoint):
354354
"request_uri_parameter_supported": True,
355355
"response_types_supported": ["code"],
356356
"response_modes_supported": ["query", "fragment", "form_post"],
357-
"request_object_signing_alg_values_supported": metadata.get_signing_algs,
358-
"request_object_encryption_alg_values_supported": metadata.get_encryption_algs,
359-
"request_object_encryption_enc_values_supported": metadata.get_encryption_encs,
357+
"request_object_signing_alg_values_supported": metadata.get_signing_algs(),
358+
"request_object_encryption_alg_values_supported": metadata.get_encryption_algs(),
359+
"request_object_encryption_enc_values_supported": metadata.get_encryption_encs(),
360360
# "grant_types_supported": ["authorization_code", "implicit"],
361361
"code_challenge_methods_supported": ["S256"],
362362
"scopes_supported": [],

src/idpyoidc/server/oidc/userinfo.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,9 +35,9 @@ class UserInfo(Endpoint):
3535
_supports = {
3636
"claim_types_supported": ["normal", "aggregated", "distributed"],
3737
"encrypt_userinfo_supported": True,
38-
"userinfo_signing_alg_values_supported": metadata.get_signing_algs,
39-
"userinfo_encryption_alg_values_supported": metadata.get_encryption_algs,
40-
"userinfo_encryption_enc_values_supported": metadata.get_encryption_encs,
38+
"userinfo_signing_alg_values_supported": metadata.get_signing_algs(),
39+
"userinfo_encryption_alg_values_supported": metadata.get_encryption_algs(),
40+
"userinfo_encryption_enc_values_supported": metadata.get_encryption_encs(),
4141
}
4242

4343
def __init__(

tests/test_server_16_endpoint_context.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,9 +28,9 @@ class Endpoint_1(Endpoint):
2828
name = "userinfo"
2929
_supports = {
3030
"claim_types_supported": ["normal", "aggregated", "distributed"],
31-
"userinfo_signing_alg_values_supported": metadata.get_signing_algs,
32-
"userinfo_encryption_alg_values_supported": metadata.get_encryption_algs,
33-
"userinfo_encryption_enc_values_supported": metadata.get_encryption_encs,
31+
"userinfo_signing_alg_values_supported": metadata.get_signing_algs(),
32+
"userinfo_encryption_alg_values_supported": metadata.get_encryption_algs(),
33+
"userinfo_encryption_enc_values_supported": metadata.get_encryption_encs(),
3434
"client_authn_method": ["bearer_header", "bearer_body"],
3535
"encrypt_userinfo_supported": False,
3636
}

0 commit comments

Comments
 (0)