---
title: 'Создать OIDC-федерацию для Keycloak'
sidebar_label: 'Создать OIDC-федерацию для Keycloak'
sidebar_position: 1
description: 'Как настроить федерацию на стороне Selectel и поставщика удостоверений Keycloak по протоколу OIDC'
---

import Formbricks from '@theme/MDXComponents/Formbricks'
import CreateFederationForSelectel from '@site/docs/_partials/access-control/federations/manage-oidc/create-federation-for-selectel.mdx'

# Создать OIDC-федерацию для Keycloak

1. [Настройте федерацию на стороне Keycloak](#configure-federation-for-identity-provider).
2. [Создайте федерацию на стороне Selectel](#create-federation-for-selectel).
3. [Добавьте идентификатор федерации Selectel в федерацию Keycloak](#add-selectel-federation-id-to-keycloak).
4. Если при создании федерации на стороне Selectel вы включили автосоздание пользователей, [настройте сопоставление групп пользователей](#configure-mapping).

## 1. Настроить федерацию на стороне Keycloak \{#configure-federation-for-identity-provider}

1. В панели управления Keycloak войдите в аккаунт администратора (Administration Console).

2. Перейдите в раздел **Clients**.

3. Нажмите **Create client**.

4. На этапе **General Settings**:

   4.1. В поле **Client type** выберите **OIDC**.

   4.2. В поле **Client ID** введите идентификатор для клиента, который приложение будет использовать в качестве имени для сервера авторизации, например `mobile-client-v1`.

   4.3. Нажмите **Next**.

5. На этапе **Capability Config**:

   5.1. Включите тумблер **Client Authentication**.

   5.2. В блоке **Authentication flow** отметьте чекбокс **Standard flow**.

   5.3. Нажмите **Next**.

6. На этапе **Login settings**:

   6.1. В поле **Home URL** введите `https://my.selectel.ru/federated-login`.

   6.2. В поле **Valid Redirect URIs** введите `https://api.selectel.ru/v1/auth/federations/oidc/*`.

   6.3. Нажмите **Save**.

## 2. Создать федерацию на стороне Selectel \{#create-federation-for-selectel}

<CreateFederationForSelectel KeycloakSession="Время жизни сессии также можно установить на стороне провайдера Keycloak в параметре SSO Session Max или Assertion Lifespan. Если время жизни сессии установлено и в настройках федерации, и в Keycloak, будет применяться наименьшее значение." IdIssuer="https://<idp_url>/realms/master" ClientIdSpecify="указали в поле" ClientIdField="Client ID" ClientSecretGet="можно посмотреть в панели управления Keycloak в разделе " ClientSecretFields="Client → Client secret" AuthUrl="https://<idp_url>/realms/master/protocol/openid-connect/auth" TokenUrl="https://<idp_url>/realms/master/protocol/openid-connect/token" JwskUri="https://<idp_url>/realms/master/protocol/openid-connect/certs" Step="4.2" />

## 3. Добавить идентификатор федерации Selectel в федерацию Keycloak \{#add-selectel-federation-id-to-keycloak}

1. В панели управления Keycloak войдите в аккаунт администратора (Administration Console).
2. Перейдите в раздел **Clients**.
3. Откройте страницу клиента, который вы создали при [настройке федерации на этапе 1](#configure-federation-for-identity-provider).
4. В поле **Valid Redirect URIs** введите `https://api.selectel.ru/v1/auth/federations/oidc/<federation_id>/callback`. Укажите `<federation_id>` —  ID федерации на стороне Selectel, можно посмотреть в [панели управления](https://my.selectel.ru/iam/federations): в верхнем меню нажмите **IAM** → **Федерации** → строка федерации → поле **ID**.
5. Нажмите **Save**.

## 4. Настроить сопоставление групп пользователей \{#configure-mapping}

Настраивать сопоставление групп необходимо, если при [создании федерации на стороне Selectel на этапе 2](#create-federation-for-selectel) вы включили автосоздание пользователей.
Используйте подраздел [Настроить сопоставление групп](/access-control/groups/mapping.mdx#configure-group-mapping) инструкции [Сопоставление групп пользователей](/access-control/groups/mapping.mdx).

<Formbricks />
