I've been trying to work with the Social Providers feature of Keycloak, but I've had some problems.

First of all I'm using the beta-2 version, and I created Facebook and Google links to applications I have there and it worked fine.

If I create a new user logging in with Facebook it works
If I create a new user logging in with Google it works aswell.

When I try linking things, that's where things go wrong.

I have created a new Keycloak user, and accessed:

http://localhost:8080/auth/realms/myrealm/account

and on that URL I associated my Google and Facebook accounts, when I do it like that, it all works fine, but when I tried to see if it worked automatically it all went south.

I deleted the social links from this account, and then tried to login to a keycloak secured application via Facebook, and the e-mail of my Facebook account is the same of the keycloak accunt, which led to an exception

org.keycloak.models.ModelDuplicateException: javax.persistence.PersistenceException: org.hibernate.exception.ConstraintViolationException: ERROR: duplicate key value violates unique constraint "userentity_realm_email_key"

The same happens if I have no account at all, and create one with Facebook, then try logging in with Google.

Is there something I'm missing, or is this flow still being worked on?

I have read this wiki, and I think it's the item 5 that isn't working correctly

https://github.com/keycloak/keycloak/wiki/Registration-Authentication-with-social-providers-and-linking-of-social-accounts


--
Rodrigo Sasaki