Skip to content

Commit 78bd655

Browse files
committed
Finally all tests green
1 parent 21679ac commit 78bd655

22 files changed

+78
-380
lines changed

src/idpyoidc/claims.py

Lines changed: 29 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -245,11 +245,39 @@ def get_endpoint_claims(self, endpoints):
245245
_info[md_param] = _val
246246
return _info
247247

248-
def get_metadata(self,
248+
def get_server_metadata(self,
249249
entity_type: Optional[str] = "",
250250
endpoints: Optional[list] = None,
251251
metadata_schema: Optional[Message] = None,
252252
extra_claims: Optional[List[str]] = None,
253+
**kwargs):
254+
255+
metadata = self.prefer
256+
# the claims that can appear in the metadata
257+
if metadata_schema:
258+
attr = list(metadata_schema.c_param.keys())
259+
else:
260+
attr = []
261+
262+
if extra_claims:
263+
attr.extend(extra_claims)
264+
265+
if attr:
266+
metadata = {k: v for k, v in metadata.items() if k in attr}
267+
268+
# collect endpoints
269+
if endpoints:
270+
metadata.update(self.get_endpoint_claims(endpoints))
271+
272+
if entity_type:
273+
return {entity_type: metadata}
274+
else:
275+
return metadata
276+
277+
def get_client_metadata(self,
278+
entity_type: Optional[str] = "",
279+
metadata_schema: Optional[Message] = None,
280+
extra_claims: Optional[List[str]] = None,
253281
supported: Optional[dict] = None,
254282
**kwargs):
255283

@@ -272,10 +300,6 @@ def get_metadata(self,
272300
if attr:
273301
metadata = {k: v for k, v in metadata.items() if k in attr}
274302

275-
# collect endpoints
276-
if endpoints:
277-
metadata.update(self.get_endpoint_claims(endpoints))
278-
279303
if entity_type:
280304
return {entity_type: metadata}
281305
else:

src/idpyoidc/client/claims/oidc.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -95,13 +95,13 @@ def __init__(self, prefer: Optional[dict] = None, callback_path: Optional[dict]
9595
client_claims.Claims.__init__(self, prefer=prefer, callback_path=callback_path)
9696

9797
def verify_rules(self, supports):
98-
if self.get_preference("request_parameter_supported") and self.get_preference(
99-
"request_uri_parameter_supported"
100-
):
101-
raise ValueError(
102-
"You have to chose one of 'request_parameter_supported' and "
103-
"'request_uri_parameter_supported'. You can't have both."
104-
)
98+
# if self.get_preference("request_parameter_supported") and self.get_preference(
99+
# "request_uri_parameter_supported"
100+
# ):
101+
# raise ValueError(
102+
# "You have to chose one of 'request_parameter_supported' and "
103+
# "'request_uri_parameter_supported'. You can't have both."
104+
# )
105105

106106
if self.get_preference("request_parameter_supported") or self.get_preference(
107107
"request_uri_parameter_supported"

src/idpyoidc/client/oidc/registration.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,8 @@ def gather_request_args(self, **kwargs):
102102
@return:
103103
"""
104104
_context = self.upstream_get("context")
105-
req_args = _context.claims.get_metadata(metadata_schema=self.msg_type)
105+
req_args = _context.claims.get_client_metadata(metadata_schema=self.msg_type,
106+
supported=_context.supports())
106107
if "request_args" in self.conf:
107108
req_args.update(self.conf["request_args"])
108109

0 commit comments

Comments
 (0)