mirror of
https://github.com/kanidm/kanidm.git
synced 2025-05-22 08:53:57 +02:00
Add strict OAuth2 URL enforcement per the RFC. This includes a transition process for the next release so that Admins can come into compliance.
2 KiB
2 KiB
Authentication Flow
- Client sends an init request. This can be either:
AuthStep::Init
which just includes the username, orAuthStep::Init2
which can request a "privileged" session
- The server responds with a list of authentication methods.
(
AuthState::Choose(Vec<AuthAllowed>)
) - Client requests auth with a method (
AuthStep::Begin(AuthMech)
) - Server responds with an acknowledgement (
AuthState::Continue(Vec<AuthAllowed>)
). This is so the challenge can be included in the response, for Passkeys or other challenge-response methods.- If required, this challenge/response continues in a loop until the requirements are satisfied. For example, TOTP and then Password.
- The result is returned, either:
- Success, with the User Auth Token as a
String
. - Denied, with a reason as a
String
.
- Success, with the User Auth Token as a