How can i display the selected social sign-in options based on the client

Hi,
Scenario: consider i have a client called keycloak, to this client I need to display only github and gitlab social-sign in options to add under the Identity providers component rest should not be shown in the list to choose the option.
Thanks

Can anyone help me with the above scenario.

External IdPs (no matter if social of generic ones) can’t be mapped to clients.
This would also be a wrong consideration, as users don’t authenticate for a specific client, they are authentication at the realm level!

1 Like

In that case is that possible for me to show only selected providers like github, gitlab and LinkedIn only to a specific realm?

That’s the default… Just configure the social providers you want to have in your realm and they will be displayed. Keycloak won’t show links/buttons to non-configured social providers.

Consider the below image


we can see multiple options under social like google, gitlab, instagram etc,. But my case is that I wanted to display bitbucket and gitlab only in this page . How can I do this?

Which means to this realm I need to provide access to selected social providers to configure or use not all the options

Why don’t you ask your questions properly and clearly from the beginning?

That’s the admin configuration page, it shows all options Keycloak provides, you can’t strip this selection down.

2 Likes

Thanks for the information!

Funny but you start answering my question. :slight_smile:

I have read your answers, and two Ideas occurred to me:

  1. Client can override browser flow:

    Do you think that we can have separated flow for customer that have IDP configured, so the flow will show the button as default one.
    Then create new flow without Identity Provider Redirector:

And assign to clients that are not using the IDP?

  1. If we have custom Keycloak UI page, we can customise based on clientId and show/hide buttons?

Hi,

  1. is possible with some code. Just use Conditional Steps checking e.g. the clientId and move Identity Provider Redirector to this conditional sub-flow.

  2. of course. Just use an if/else block.

I have created flow without Identity Provider Redirector, and apply that flow for specific client, but I am still able to se the button …