[keycloak-dev] [KEYCLOAK-996] - Allow application to select provider
Stian Thorgersen
stian at redhat.com
Mon Jan 26 08:35:01 EST 2015
Reading the spec, although they don't exactly give much detail on this, but my understanding is:
* acr - abstract level of assurance, exactly how the levels are defined I don't know, but I would imagine they'd have values 1-10 or somthing. You could then define what's required for each value. For example 0 is just authenticated somehow, 1 is either password+totp or my-corp-idp
* amr - is a concrete list of mechanisms used, so examples would be 'totp password' or 'my-corp-id'
>From your previous email I'm a bit unsure if you're still proposing to use acr_values or not, but to me it doesn't make sense have ?acr_values=my-corp-idp. If there was an amr_values param that would make more sense.
----- Original Message -----
> From: "Pedro Igor Silva" <psilva at redhat.com>
> To: "Stian Thorgersen" <stian at redhat.com>
> Cc: "keycloak dev" <keycloak-dev at lists.jboss.org>
> Sent: Monday, January 26, 2015 12:54:38 PM
> Subject: Re: [keycloak-dev] [KEYCLOAK-996] - Allow application to select provider
>
> ----- Original Message -----
> > From: "Stian Thorgersen" <stian at redhat.com>
> > To: "Pedro Igor Silva" <psilva at redhat.com>
> > Cc: "keycloak dev" <keycloak-dev at lists.jboss.org>
> > Sent: Monday, January 26, 2015 5:18:14 AM
> > Subject: Re: [keycloak-dev] [KEYCLOAK-996] - Allow application to select
> > provider
> >
> > Can you elaborate a bit more on the idea? At first glance to me it seems
> > like
> > we'd use one field for two quite different purposes. Level of assurance is
> > abstract (level 0, 1, 2), while authentication mechanism is more concrete
> > (idp-a, password, totp). I think an application might want to request
> > level-1, but not care about mechanism used, while another application would
> > want to select idp-a, but not care about the level of assurance.
>
> I understand your point. You are basically talking about "acr" and "amr"
> fields of id_token.
>
> After reading a little bit more about the meaning of both fields, I realized
> that acr provides more meaning than amr. The reason is that you would prefer
> a "context" than rely on specific authentication mechanisms in order to do
> access decisions. For instance, SAML provides something similar to amr and
> for some people that is one of the SAML specs mistakes. And there are
> discussions on OIDC mailing lists about the real value of "amr".
>
> IMO, makes much more sense to rely on the context used to authenticate the
> user than on an individual (or multiple) authentication mechanism. You can
> use the context for that in a more meaningful (and abstract) way. In the
> case we are discussing, users can specify that an "authentication context"
> is related with trusting identities from an external IdP.
>
> In the future, we may even let users create their own "authentication
> context" by chaining authentication mechanisms. For instance, password +
> otp. IMO, is much better to use a single value like acme-loa-1, which means
> password + otp, than check for individual mechanisms.
>
> Regarding the value, I think we can use anything we want as along as all
> parties agree on the values being used.
>
> >
> > ----- Original Message -----
> > > From: "Pedro Igor Silva" <psilva at redhat.com>
> > > To: "keycloak dev" <keycloak-dev at lists.jboss.org>
> > > Sent: Friday, January 23, 2015 8:23:19 PM
> > > Subject: [keycloak-dev] [KEYCLOAK-996] - Allow application to select
> > > provider
> > >
> > > Hi,
> > >
> > > KEYCLOAK-996 is about allowing clients to select an existing identity
> > > provider when sending an authentication request to the server.
> > > Initially, this is all about passing the IdP id and automatically
> > > redirect the user to its login page. Without even show KC's login
> > > page.
> > >
> > > IMO instead of using an "idp_hint", like proposed in that JIRA, we
> > > may
> > > start using the "acr_values" parameter as defined by OIDC specs. I
> > > think
> > > this parameter better fits the purpose and will allow us to support
> > > LoAs
> > > in the future as well.
> > >
> > > The acr value in this case would be something like "idp-X", where X
> > > is
> > > the id of the identity provider.
> > >
> > > What do you think ?
> > >
> > > Regards.
> > > Pedro Igor
> > > _______________________________________________
> > > 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