Configuring new IdentityProvider

I need to configure a new IdP that appers in the dropdown list of identity providers, how can I do that… Can anyone give me some clues to do that?

Thanks in advance.

Documentation on Identity Brokering is here: Server Administration Guide

Configuration information is herer:
https://www.keycloak.org/docs/latest/server_admin/#_general-idp-config

Once you’ve read through those sections, feel free to post more specific questions on this thread…

To be more specific, I need to create a new identity provider to appear in the dropdown list. For example, now appears SAML v2.0, and I have to create one new provider and providerfactory to allow to the user select a new Identity Provider from the dropdown list, is it clear now?

Yes. You need to implement IdentityProvider and IdentityProviderFactory.

Keycloak has good general documentation on how to build server extensions here: Server Developer Guide

But there is limited documentation or examples on how to implement additional identity providers. Here are two examples from Github:

If you are looking to implement something like a new social provider that uses OAuth or OIDC, it would be much simpler, as you could look at the examples in the code that extend SocialIdentityProvider/SocialIdentityProviderFactory.

Feel free to post more detail / questions here, and we can try to help.

No, my identityProvider is one specification from SAML v2.0. My IdP must get the same information to SAML, but also adding more fields inside the saml request.

Then it should probably be as simple as extending org.keycloak.broker.saml.SAMLIdentityProvider. Start there and let us know if you get stuck on a specific problem.

I have modified to use SAMLIdentityProvider, but I have one error with this sentence:

public class SamlClaveIdentityProvider extends AbstractOAuth2IdentityProvider
implements SAMLIdentityProvider {

this error:

type SAMLIdentityProvider does not take parameters

How can I solve it?

Sorry, without seeing all the code, I can’t help.

I can see that you’re mixing OAuth2 and SAML, which won’t work.

Ok, is there any example with SAMLIdentityProvider?