ory / oathkeeper

A cloud native Identity & Access Proxy / API (IAP) and Access Control Decision API that authenticates, authorizes, and mutates incoming HTTP(s) requests. Inspired by the BeyondCorp / Zero Trust white paper. Written in Go.
https://www.ory.sh/?utm_source=github&utm_medium=banner&utm_campaign=hydra
Apache License 2.0
3.2k stars 349 forks source link

Configure JWT authenticator not to logging sensitive data #1115

Open StanislavStefanov opened 1 year ago

StanislavStefanov commented 1 year ago

Preflight checklist

Describe your problem

If the authenticator fails to validate the provided JWT token the returned error is enriched with the contents of the jwt claims from the token. The claims contain user personal data such as names and email address. According to our policy such information is treated as sensitive data and we should not log it. We need a way to configure whether the error should be enriched or not.

Describe your ideal solution

The suggested approach is to have a new configuration value of type bool within AuthenticatorOAuth2JWTConfiguration which would tell Oathkeeper to enrich the errors with the data from the jwt claims or not. The default value of the new configuration can be 'true' in order to keep the current behaviour and in cases where the enrichement of the message is not desired it could be overridden to 'false'.

Workarounds or alternatives

Based on the current approach I couldnt think of other approach that can keep the current default behaviour and provide the new functionality

Version

Currently we use v0.38.25-beta.1, but will be upgrading to the latest version

Additional Context

No response

github-actions[bot] commented 2 weeks ago

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

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 🙏✌️