Keycloak: Setting up Social Identity Providers

Łukasz Budnik
23 Dec 202005:24

Summary

TLDRВ этом видео о Keycloak, Chesteve показывает, как настроить поставщика социальной идентичности, используя GitHub в качестве примера. Он объясняет, как добавить нового клиента, настроить конфигурацию в GitHub для использования OAuth2 и создать приложение 'hotel'. После этого он демонстрирует, как пользователи могут войти в Keycloak через кнопку GitHub и автоматически получить свои данные имени пользователя, имени и фамилии из GitHub. В конце видео Chesteve удаляет приложение для безопасности и подводит итог, обещая в следующем видео рассказать о синхронизации Keycloak с LDAP-каталогами.

Takeaways

  • 🔑 В видео рассматривается настройка поставщиков социальной идентичности в Keycloak, используя GitHub в качестве примера.
  • 👤 Для начала создается новый клиент в Keycloak, предположительно для клиента, который хочет использовать GitHub для аутентификации.
  • 🔗 В Keycloak выбирается опция 'Identity Providers', где доступны различные предустановленные коннекторы, в примере выбран GitHub.
  • 📝 В процессе настройки копируется конечная точка для дальнейшего использования на GitHub.
  • 💻 Переход на GitHub для завершения настройки приложения, создание тестового приложения с названием 'hotel'.
  • 🏠 Указываются URL-адреса и описание для тестового приложения GitHub, также задается обратный вызов (callback), скопированный из Keycloak.
  • 🔑 Регистрация приложения на GitHub для получения идентификатора клиента и секрета клиента.
  • 👁️ Для приложения GitHub выбираются области (scopes), которые определяют доступ к информации пользователя.
  • 📌 Keycloak автоматически сопоставляет атрибуты пользователя из GitHub, такие как имя пользователя, имя и фамилию.
  • 🎯 После настройки на странице входа в Keycloak появляется кнопка GitHub, позволяющая пользователям авторизоваться через аккаунт GitHub.
  • 🗑️ В конце видео демонстрируется удаление тестового приложения GitHub для безопасности.
  • 📺 В следующем видео планируется рассмотрение синхронизации Keycloak с LDAP-каталогами.

Q & A

  • Что такое Keycloak и для чего оно используется?

    -Keycloak - это открытая платформа управления удостоверениями и доступом, которая позволяет упростить процесс аутентификации и авторизации для приложений, используя различные протоколы, такие как OpenID Connect и SAML2.

  • Как настроить Keycloak для использования социальной учетной записи, например, GitHub?

    -Для настройки Keycloak с GitHub следует добавить социального поставщика удостоверений в Keycloak, перейти в настройки разработчика на GitHub, создать приложение OAuth2 и настроить его с копированным обратным вызовом (callback URL) из Keycloak.

  • Что такое обратный вызов (callback URL) и как его использовать?

    -Обратный вызов (callback URL) - это URL, на который GitHub будет перенаправлять пользователя после успешной аутентификации. Этот URL должен быть зарегистрирован в настройках приложения OAuth2 на GitHub.

  • Как получить Client ID и Client Secret для приложения GitHub?

    -После создания приложения OAuth2 на GitHub, можно получить Client ID и Client Secret в разделе настроек приложения. Важно сохранить их в безопасности и не раскрывать их, особенно Client Secret.

  • После настройки социальной учетной записи на GitHub, что происходит при входе через кнопку GitHub в Keycloak?

    -При нажатии на кнопку GitHub для входа, пользователь будет перенаправлен на страницу GitHub для аутентификации. После авторизации, GitHub перенаправит пользователя обратно в Keycloak, где будет произведена проверка данных и пользователь получит доступ.

  • Какие данные Keycloak может получить от GitHub при использовании социальной учетной записи?

    -Keycloak может получать такие данные, как имя пользователя, адрес электронной почты и имя (включая имя и фамилию), которые определены в профиле пользователя на GitHub.

  • Чем отличается процесс настройки аутентификации через GitHub от использования протокола SSO с использованием SAML2?

    -Процесс настройки аутентификации через GitHub включает в себя добавление социального поставщика удостоверений в Keycloak и настройку приложения OAuth2 на GitHub. В то время как SSO с использованием SAML2 требует настройки утверждений и атрибутов в Keycloak для интеграции с другими приложениями.

  • Какие преимущества предлагает использование социальной учетной записи для входа в Keycloak?

    -Использование социальной учетной записи упрощает процесс входа для пользователей, так как они могут использовать уже существующие аккаунты, что ускоряет процесс регистрации и аутентификации. Это также может уменьшить нагрузку на администраторов, связанную с управлением учетными записями.

  • Что означает SSO (Single Sign-On) и как это работает в Keycloak?

    -SSO (Single Sign-On) - это механизм, который позволяет пользователям аутентифицироваться один раз и получать доступ к нескольким приложениям или службам без необходимости повторной аутентификации. В Keycloak это реализуется через настройку соответствующих протоколов и утверждений для каждого приложения.

  • Какие дополнительные настройки доступны при использовании социальных поставщиков удостоверений в Keycloak?

    -В Keycloak при использовании социальных поставщиков удостоверений доступны дополнительные настройки, такие как выбор области (scopes), которые определяют, какие данные пользователь разрешает обмениваться с приложениями, и настройка пользовательских утверждений для более точной интеграции.

  • Какие действия предпринимаются для обеспечения безопасности при использовании социальных учетных записей в Keycloak?

    -Для обеспечения безопасности при использовании социальных учетных записей в Keycloak рекомендуется скрыть Client Secret от глаз и не раскрывать его. Также важно правильно настроить разрешения доступа и периодически проверять и обновлять настройки приложений.

Outlines

00:00

🔐 Настройка поставщика социальной идентичности с использованием GitHub в Keycloak

В этом видео представитель Chesteve демонстрирует, как настроить поставщика социальной идентичности на примере GitHub в Keycloak. Он рекомендует просмотреть предыдущие видео о настройке реалмов, клиентов, пользовательских политик паролей и MFA. В видео описывается процесс добавления нового клиента, который предпочитает использовать GitHub для аутентификации вместо SSO с использованием протокола OpenID Connect. В видео показан переход в настройки GitHub, создание приложения OAuth2, копирование и регистрация обратных вызовов, а также получение идентификатора клиента и секрета клиента. После этого, пользователь может войти в Keycloak через кнопку GitHub, и информация о пользователе, включая имя и адрес электронной почты, будет корректно прочитана и передана в Keycloak.

05:02

🔄 Предстоящее видео о синхронизации Keycloak с LDAP-каталогами

В заключительной части видео Chesteve сообщает о предстоящем видео, в котором он расскажет о синхронизации Keycloak с LDAP-каталогами. Он подчеркивает важность подписки на канал и нажатия кнопки 'Нравится', если пользователь заинтересован в продолжении серии видео. Также он благодарит за просмотр и поддержку, что подчеркивает его стремление предоставить полезные и интересные материалы для своих подписчиков.

Mindmap

Keywords

💡Keycloak

Keycloak - это открытая платформа управления удостоверениями и доступом, используемая для аутентификации пользователей и управления доступом к приложениям. В видео описывается процесс настройки Keycloak с использованием внешнего поставщика удостоверений, что является основной темой видео.

💡Social Identity Provider

Социальный поставщик удостоверений - это сервис, который позволяет пользователям аутентифицироваться в приложениях с помощью своих аккаунтов в социальных сетях или других онлайн-сервисах. В контексте видео, GitHub используется в качестве примера социального поставщика удостоверений для интеграции с Keycloak.

💡GitHub

GitHub - это одна из наиболее популярных платформ для разработки программного обеспечения, которая предоставляет систему контроля версий и хостинг репозиториев. В видео рассматривается настройка GitHub в качестве поставщика удостоверений для Keycloak, что позволяет пользователям входить в систему с помощью своих аккаунтов GitHub.

💡OAuth2

OAuth2 - это протокол авторизации, который позволяет пользователям предоставлять доступ к своим данным третьим лицам без необходимости раскрывать свои учетные данные. В видео описывается настройка OAuth2 для интеграции GitHub с Keycloak.

💡SSO (Single Sign-On)

Single Sign-On (SSO) - это механизм, который позволяет пользователям аутентифицироваться один раз и получать доступ ко множеству приложений без необходимости повторной аутентификации. В видео упоминается, что клиент предпочитает использовать GitHub вместо SSO с использованием протокола SAML2.0.

💡Realms

Realm в Keycloak - это логический контейнер, который может представлять организацию или группу приложений. В видео упоминается настройка Realms в предыдущем видео, что важно для понимания общего контекста настройки Keycloak.

💡Clients

Клиенты в Keycloak - это приложения или сервисы, которые требуют аутентификации пользователей. В видео описывается процесс добавления клиента (например, 'hotel') и настройка его для использования GitHub в качестве поставщика удостоверений.

💡Custom Password Policies

Пользовательские политики паролей - это возможности Keycloak для настройки требований к паролям, таких как длина, использование цифр и прописных/строчных букв. В видео упоминается настройка таких политик в предыдущем видео, что важно для обеспечения безопасности приложения.

💡MFA (Multi-Factor Authentication)

Многофакторная аутентификация (MFA) - это метод аутентификации, который требует от пользователя предоставления двух или более форм подтверждения своей личности. В видео упоминается настройка MFA в предыдущем видео, что является важным аспектом безопасности.

💡Scopes

Scopes в контексте OAuth2 - это разрешения, которые пользователь предоставляет приложению для доступа к своим данным. В видео описывается выбор и настройка scopes для приложения GitHub, что определяет, какие данные будут доступны приложению 'hotel'.

Highlights

Introduction to setting up a social identity provider in Keycloak.

Using GitHub as an example for setting up a social identity provider.

Assumption of a new customer wanting to use GitHub for authentication instead of SSO sum20.

Accessing the list of out-of-the-box connectors available in Keycloak.

Demonstration of adding a new customer in Keycloak.

Switching to GitHub to finish setting up the application.

Navigating to GitHub account settings and Developer settings.

Creating a new OAuth2 application on GitHub called 'hotel'.

Setting the homepage URL and callback URL for the GitHub application.

Registering the application and obtaining the client ID and secret.

Explanation of the importance of client secret security.

Copying the client secret and setting up scopes for the application.

Trusting the email and completing the GitHub application setup.

Demonstration of the GitHub login button appearing on the Keycloak login page.

Authorizing the 'hotel' application to access GitHub account information.

Keycloak correctly reading and mapping GitHub username, email, first name, and last name.

Comparison with previous video on SSO integration and attribute mapping.

Successful login into Keycloak using GitHub credentials.

Teaser for the next video on syncing Keycloak with LDAP directories.

Encouragement to like, subscribe, and follow for more content.

Transcripts

play00:00

hello everybody hola todos

play00:03

chesteve in this video about keyclaw

play00:06

i'm going to show you how to set up

play00:09

social identity provider

play00:11

as an example i will use github

play00:14

also please check out my previous videos

play00:18

the first about setting up realms

play00:21

clients custom password policies and mfa

play00:25

in key cloak the second one about

play00:28

setting up single sign-on using sum20

play00:32

protocol okay but in this

play00:35

video let's talk about the social

play00:37

identity providers

play00:41

let's assume we have yet another

play00:43

customer

play00:44

let's add it

play00:49

and this customer

play00:52

doesn't want to use sso sum20

play00:56

instead they would like to use github or

play00:59

auth2

play01:01

okay so we go into the identity

play01:04

providers from the list

play01:08

as you can see there are quite a few

play01:11

out of the box connectors available but

play01:15

i will go with github in our example

play01:18

okay i will copy this endpoint

play01:22

and now i will switch to github to

play01:25

finish

play01:26

setting up this application

play01:30

so this is my github

play01:33

[Music]

play01:36

account i'm under the settings

play01:39

i will go into the developer settings

play01:43

oauth2 apps i have one

play01:46

test application and i'm going to add a

play01:49

new one

play01:50

i will call it hotel that's our

play01:54

imaginary system that we are working on

play01:56

in this

play01:58

key cloud series

play02:01

homepage url let's use this one

play02:04

description is optional callback is

play02:08

the callback which i copied from

play02:11

key cloak so i'm going to register the

play02:14

application now

play02:17

i need client id

play02:22

i also need the client secret

play02:25

as the client secret will be visible on

play02:27

my screen

play02:28

for security reasons i'm going to delete

play02:32

this application at the end of the video

play02:35

and copy the secret

play02:39

i can provide scopes for this

play02:42

application i will go with the default

play02:44

one you can read in github

play02:47

documentation what information is

play02:49

provided

play02:50

in the default scope

play02:53

or you can comma separate your own

play02:56

scopes

play02:58

i'm going to trust the email and that's

play03:01

really

play03:02

all that i have to do

play03:05

okay everything is ready i will go into

play03:07

the clients and just

play03:09

open this url to login into the

play03:12

account on the login page you can see

play03:15

that i have now

play03:17

github button available so i'm going to

play03:20

click it

play03:22

and yeah do i want to authorize hotel

play03:26

yes i do

play03:29

and i'm in key cloak

play03:33

and the github connector

play03:36

correctly read my username that's my

play03:39

username in github that is the

play03:41

email that i have set in github and

play03:44

my first name and last name

play03:48

if you are familiar with github api you

play03:51

will

play03:51

know that in github

play03:54

there's only name field which contains

play03:58

both

play03:58

the first name and last name

play04:02

and key cloak correctly

play04:05

passed first name and last name

play04:08

automatically

play04:09

if you recall the previous video when i

play04:11

was showing

play04:13

samuel to zero integration we had to

play04:16

explicitly

play04:17

map some assertion attributes to

play04:20

key clock attributes here i didn't have

play04:22

to do anything

play04:24

everything is correct i will hit save so

play04:26

yeah everything

play04:28

worked fine and i can from now on

play04:31

logging into key cloak using

play04:35

github okay and that's really all

play04:38

that's super simple before i

play04:42

wrap up uh as promised uh i will

play04:45

did this application well let's just

play04:47

refresh it so yeah we can see that

play04:50

we have now uh one user it was used

play04:53

within the last week and i will delete

play04:57

this

play04:58

application okay the application is gone

play05:02

so guys that's everything

play05:05

for this video in the next video

play05:09

i'm going to show you how to sync

play05:11

keyclock with

play05:12

ldap directories so

play05:15

stay tuned if you like the video hit the

play05:19

like button

play05:20

and subscribe to my channel thanks

Rate This

5.0 / 5 (0 votes)

Related Tags
KeycloakGitHubAuth2SSOOAuth2АутентификацияИдентификацияКлиентыПровайдерыLDAP
Do you need a summary in English?