2016-05-27 15:23:34 +00:00
[[_general-idp-config]]
2016-05-26 16:09:04 +00:00
=== General Configuration
The identity broker configuration is all based on identity providers.
Identity providers are created for each realm and by default they are enabled for every single application.
That means that users from a realm can use any of the registered identity providers when signing in to an application.
In order to create an identity provider click the `Identity Providers` left menu item.
.Identity Providers
image:../../{{book.images}}/identity-providers.png[]
2016-12-01 22:17:15 +00:00
In the drop down list box, choose the identity provider you want to add. This will bring you to the
2016-05-26 16:09:04 +00:00
configuration page for that identity provider type.
.Add Identity Provider
image:../../{{book.images}}/add-identity-provider.png[]
Above is an example of configuring a Google social login provider. Once you configure an IDP, it will appear on the {{book.project.name}}
login page as an option.
.IDP login page
image:../../{{book.images}}/identity-provider-login-page.png[]
Social::
2016-06-05 21:22:42 +00:00
Social providers allow you to enable social authentication in your realm.
2016-05-26 16:09:04 +00:00
{{book.project.name}} makes it easy to let users log in to your application using an existing account with a social network.
2016-06-05 21:22:42 +00:00
Currently Facebook, Google, Twitter, GitHub, LinkedIn, Microsoft, and StackOverflow are supported with more planned for the future.
2016-05-26 16:09:04 +00:00
Protocol-based::
Protocol-based providers are those that rely on a specific protocol in order to authenticate and authorize users.
They allow you to connect to any identity provider compliant with a specific protocol.
{{book.project.name}} provides support for SAML v2.0 and OpenID Connect v1.0 protocols.
It makes it easy to configure and broker any identity provider based on these open standards.
Although each type of identity provider has its own configuration options, all of them share some very common configuration.
2016-12-01 22:17:15 +00:00
Regardless the identity provider you are creating, you'll see the following configuration options available:
2016-05-26 16:09:04 +00:00
.Common Configuration
[cols="1,1", options="header"]
|===
|Configuration|Description
|Alias
2016-06-05 21:22:42 +00:00
|The alias is an unique identifier for an identity provider. It is used to reference an identity provider internally.
Some protocols such as OpenID Connect require a redirect URI or callback url in order to communicate with an identity provider.
2016-06-01 14:16:15 +00:00
In this case, the alias is used to build the redirect URI.
2016-06-05 21:22:42 +00:00
Every single identity provider must have an alias. Examples are facebook, google, idp.acme.com, etc.
2016-05-26 16:09:04 +00:00
|Enabled
|Turn the provider on/off
2017-03-09 21:21:37 +00:00
|Hide On Login Page
|When this switch is on, this provider will not be shown as a login option on the login page. Clients can still request to use this provider by using the 'kc_idp_hint' parameter in the URL they use to request a login.
|Link Only
|When this switch is on, this provider cannot be used to login users and will not be shown as an option on the login page. Existing accounts can still be linked with this provider though.
2016-05-26 16:09:04 +00:00
|Store Tokens
|Whether or not to store the token received from the identity provider.
|Stored Tokens Readable
2016-06-05 21:22:42 +00:00
|Whether or not users are allowed to retrieve the stored identity provider token. This also applies to the _broker_ client-level
2016-05-26 16:09:04 +00:00
role _read token_
|Trust email
2016-06-05 21:22:42 +00:00
|If the identity provider supplies an email address this email address will be trusted. If the realm required email validation,
2016-05-26 16:09:04 +00:00
users that log in from this IDP will not have to go through the email verification process.
|GUI order
|The order number that sorts how the available IDPs are listed on the {{book.project.name}} login page.
|First Login Flow
|This is the authentication flow that will be triggered for users that log into {{book.project.name}} through this IDP
2016-06-05 21:22:42 +00:00
for the first time ever.
2016-05-26 16:09:04 +00:00
|Post Login Flow
2016-06-05 21:22:42 +00:00
|Authentication flow that is triggered after the user finishes logging in with the external identity provider.
2016-05-26 16:09:04 +00:00
|===