hydra-maester icon indicating copy to clipboard operation
hydra-maester copied to clipboard

Support additional metadata fields like logo_uri, client_uri, policy_uri, etc.

Open markusheinemann opened this issue 1 year ago • 2 comments

Preflight checklist

Ory Network Project

No response

Describe your problem

The Hydra endpoint to create OAuth2 clients currently supports some more properties as covered by hydra-maester CRDs. Therefore, clients with metadata attributes such as logo_uri, contacts or policy_uri cannot be created.

Describe your ideal solution

Ideally, the CRDs cover all fields that are provided by the API endpoint.

A quick check of OAuth2ClientJSON and the Hydra OpenAPI spec shows that the following fields are missing:

  • access_token_strategy
  • client_secret_expires_at
  • client_uri
  • contacts
  • created_at
  • logo_uri
  • policy_uri
  • refresh_token_grant_refresh_token_lifespan
  • registration_access_token
  • registration_client_uri
  • request_object_signing_alg
  • request_uris
  • sector_identifier_uri
  • skip_logout_consent
  • subject_type
  • token_endpoint_auth_signing_alg
  • tos_uri
  • updated_at
  • userinfo_signed_response_alg

Idk if it really makes sense to cover all fields (e.g. created_at, updated_at) but it would be definitely helpful to cover the missing metadata fields (e.g. logo_uri, policy_uri, tos_uri, contacts).

Workarounds or alternatives

Currently I'm creating the clients without the mentioned fields.

Version

0.0.34-arm64

Additional Context

If there is an idea which fields should be covered, I can take care of the implementation

markusheinemann avatar Oct 04 '24 11:10 markusheinemann

After a little bit of browsing the source code, I saw that the property owner is used in another way.

https://github.com/ory/hydra-maester/blob/aa0bff206ad33d1ac410094b04de1049d5d131c4/controllers/oauth2client_controller.go#L228

It might be a good idea to move this to a custom metadata property to allow users using the owner property for another purpose

markusheinemann avatar Oct 04 '24 13:10 markusheinemann

I'm interested in the possibility to set userinfo_signed_response_alg. My server is configured with 2 possible values, None and RS256 ; some clients want the answer signed and some other unsigned.

apiVersion: hydra.ory.sh/v1alpha1
kind: OAuth2Client
metadata:
  name: my-oauth2-client
  namespace: default
spec:
  userinfo_signed_response_alg: "RS256"

gourvy avatar Feb 28 '25 10:02 gourvy