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

[JWT] Support authentication based on JWT #3291

Open
2 tasks
jsoriano opened this issue Feb 19, 2024 · 0 comments
Open
2 tasks

[JWT] Support authentication based on JWT #3291

jsoriano opened this issue Feb 19, 2024 · 0 comments

Comments

@jsoriano
Copy link
Member

Fleet Server should accept requests by agents authenticated using JWT tokens, as the ones emitted by #3289.

It should validate the JWT token with the following steps:

  • The signature of the token, using the public key.
  • The expiration time, if present.
  • The iss claim must match with the current project.
  • The sub claim must match with an agent ID in the .fleet-agents index, to validate that the agent is actually enrolled and not removed from the system. This helps in case of revocation.
  • The jti claim must match with one of the current JWT IDs in the .fleet-agents index.

Refresh tokens should not be accepted on any operation, apart on requesting new tokens as defined in #3289.

There must be settings for:

  • Controlling the authentication methods supported (API keys, JWT). Default to both.
  • Disabling validations on the .fleet-agents index, to make validation completely reliant on stateless JWT. Default to use .fleet-agents for validation.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant