[keycloak-dev] new credential SPI
Marek Posolda
mposolda at redhat.com
Wed Aug 24 04:56:54 EDT 2016
On 23/08/16 16:39, Bill Burke wrote:
>
>
> On 8/23/16 10:12 AM, Marek Posolda wrote:
>> Regarding SPNEGO, I remember we discussed it on ML few years ago and
>> agreed on doing it at UserFederation level. However that was before
>> we had Authentication SPI :-)
>>
>> So yes, maybe we can refactor now?
>>
>> What we can do is:
>> - Add keytab, kerberos principal and "debug" as properties of
>> SPNEGOAuthenticator.
>> - If user is successfuly authenticated by SPNEGOAuthenticator, he
>> will be lookup by UserFederationStorage. If found, then
>> authentication finished with success (so the case when user is in
>> LDAP is still supported). If he is not found, then he is lazily
>> created (typically the usecase for SPNEGO/Kerberos not backed by LDAP)
>>
>> This shouldn't be too hard to do though.
>>
>> Regarding multiple handshakes, this is still valid requirement IMO?
>> There are authentication mechanisms like SASL, which count with
>> multiple handshakes. The Keycloak is currently around passwords and
>> OTP, but people may want to add their own credential types or in the
>> future we can add more mechanisms, which can require multiple
>> handshakes?
>>
> Really depends what's involved with the handshake. Protocol stuff
> should not be in the storage SPI. We already do multiple handshakes
> with kerberos in the kerberos authenticator. SASL is a protocol and
> thus should be handled at the Authenticator level. Maybe we need a
> status object for isValid, I don't know.
I don't know too... Not sure where exactly is the border between
protocol and credential storage and ATM I don't have any more concrete
usecase using multisteps credential handshakes (assuming we refactor
SPNEGO, I've created JIRA for that
https://issues.jboss.org/browse/KEYCLOAK-3466 )
Maybe it's fine to use "boolean" and then later replace if there is
request for multisteps credential handshakes? Also depends if we are
allowed to do later changes in SPI or not...
Marek
>
> Bill
More information about the keycloak-dev
mailing list