Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Allow Identity Engine to sign x509s in addition to letting users export public keys #8307

Open
junhyun-shim opened this issue Feb 6, 2020 · 1 comment

Comments

@junhyun-shim
Copy link

junhyun-shim commented Feb 6, 2020

Is your feature request related to a problem? Please describe.
Hi Vault developers! We have a backend system with its own auth domain that needs to support multiple technical users, which we intend to create automatically when the system is first brought up. We'd like these technical users to use Vault's Identity Engine as external IDP, as the backend system natively supports RS256-JWT authentication, as long as the administrator binds each user to an IDP object (native to the backend system) with a x509 certificate.

Unfortunately, Vault documentation on Identity Engine seems to suggest that the users only get to export JWK public keys for token validation purposes, which is one feature short of exactly what we need. (I'd really like to be proven wrong here)

Describe the solution you'd like
We'd like something akin to a CSR server: e.g. /v1/identity/oidc/certs API, where we could POST the necessary fields similar to how you would fill out a CSR and the Identity Engine could give back an x509 signed with its own private key, which it also uses to sign JWTs.

Describe alternatives you've considered
Any other workarounds applicable to the backend system would require a non-trivial code change that only applies to this purpose and likely won't see much use otherwise, which we'd rather avoid.

@Fargrath
Copy link

Hi, I'm a fellow colleague of the reporter. I adapted the identity store's key/token handling so that it will generate the certificate (and an additional token header field) that we would need for our backend system to work with it.

Feedback would be greatly appreciated. Especially regarding the certificate template.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants