ory / fosite

Extensible security first OAuth 2.0 and OpenID Connect SDK for Go.

Home Page:https://www.ory.sh/?utm_source=github&utm_medium=banner&utm_campaign=fosite

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

RFC7523: Allow associating an audience allow list to a public key trust.

trondhauge85 opened this issue · comments

Preflight checklist

Describe your problem

When creating a public key trust, it should be possible to restrict access to a limited set of audiences. Currently, some third-party clients are authorized to issue tokens for a subset of our customers, which they use to access our APIs. While we can limit their actions through associated scopes, we cannot restrict their access to specific endpoints. Therefore, it would be beneficial to be able to associate one or more audiences with a public key, thus containing requests to a limited number of endpoints.

Describe your ideal solution

Add an additional method "GetPublicKeyAudiences" to the RFC7523KeyStorage interface. The rfc7523 handler should then check if that method returns an audience and throw an exception if the token request contains audiences that are not on the allow list. If the audience list is nil (or empty?) all audiences in the token request should be granted.

Workarounds or alternatives

We are running a modified version of fosite which has implemented this feature.

Version

v0.44.0

Additional Context

I am willing to have a go at implementing this feature to help get it into a coming release.

Hello contributors!

I am marking this issue as stale as it has not received any engagement from the community or maintainers for a year. That does not imply that the issue has no merit! If you feel strongly about this issue

  • open a PR referencing and resolving the issue;
  • leave a comment on it and discuss ideas on how you could contribute towards resolving it;
  • leave a comment and describe in detail why this issue is critical for your use case;
  • open a new issue with updated details and a plan for resolving the issue.

Throughout its lifetime, Ory has received over 10.000 issues and PRs. To sustain that growth, we need to prioritize and focus on issues that are important to the community. A good indication of importance, and thus priority, is activity on a topic.

Unfortunately, burnout has become a topic of concern amongst open-source projects.

It can lead to severe personal and health issues as well as opening catastrophic attack vectors.

The motivation for this automation is to help prioritize issues in the backlog and not ignore, reject, or belittle anyone.

If this issue was marked as stale erroneously you can exempt it by adding the backlog label, assigning someone, or setting a milestone for it.

Thank you for your understanding and to anyone who participated in the conversation! And as written above, please do participate in the conversation if this topic is important to you!

Thank you 🙏✌️