[keycloak-dev] auth spi design requirements and initial steps
Scott Rossillo
srossillo at smartling.com
Mon May 11 09:42:26 EDT 2015
Is this a reasonable time to consider how impersonation could fit into the auth SPI?
> On May 11, 2015, at 9:29 AM, Bill Burke <bburke at redhat.com> wrote:
>
> Some generic requirements that will effect the design.
>
> 1. Authenticator should be able to be optional per user. i.e. OTP can be
> optionally set up by the user
> 2. Multiple authenticators should be resolvable per form. i.e. password,
> terms and conditions, captcha, and otp could be entered in on one page.
> 3. Non form based authenticators should be able to bypass any screens if
> they are the only authenticators. i.e. CLIENT_CERT and KERBEROS.
> 4. Autheticators need to be able to send challenges after initial
> request, i.e. Kerberos
> 5. Clients should be able to specify which Authenticators they require
> 6. You should be able to attach policies to an Authenticator which
> allows you to do things like, don't do OTP if you are coming from IP
> address where you last logged in.
> 7. Authenticators should be able to plugin in a JAX-RS service that can
> handle requests for them.
> 8. Authenticators should be able to specify their display/input page
> 9. Authenticators can have a "user setup" pages. One for
> login/registration, one for account service, and one for admin console.
> Yuck!
>
>
>
>
> Design implications:
> * I think we need to have a AuthenticatorForm as well as an
> Authenticator interface.
> * Authenticators would be associated with a AuthenticatorForm. This
> allows support for multiple Authenticators for one form post.
> * AuthentictorForms would have an action URL that accepts form input.
> This form input URL would be referenced by the form name
> /auth/realms/{realm}/authenticate/forms/{form-name}
> * AuthenticatorForms would have a name and input/display page. The
> display page URI can be a relative uri pointing to a theme template, a
> relative uri that points to an Authenticators JAX-RS service, or an
> external URI.
> * A User, per authenticator can be in a SETUP_REQUIRED state. This
> allows the user to bypass the authenticator and go straight to
> authenticator setup.
> * CredentialModel will need generic attributes.
>
> Steps?
>
> I'm gonna get some abstraction working first with Kerberos, OTP, and
> Password.
>
>
> --
> Bill Burke
> JBoss, a division of Red Hat
> http://bill.burkecentral.com
> _______________________________________________
> keycloak-dev mailing list
> keycloak-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/keycloak-dev
More information about the keycloak-dev
mailing list