Поделиться через


Настройка службы приложений или приложения Функций Azure для использования поставщика OpenID Connect

В этой статье показано, как настроить службу приложений Azure или Функции Azure для использования пользовательского поставщика проверки подлинности, который соответствует спецификации OpenID Connect (OIDC). OIDC — это отраслевый стандарт, используемый многими поставщиками удостоверений. Вам не нужно понимать сведения о спецификации для использования поставщика удостоверений OIDC для приложения.

Вы можете настроить приложение так, чтобы оно использовало один или несколько поставщиков OIDC. Необходимо указать каждому поставщику OIDC уникальное понятное имя в конфигурации приложения. Только один поставщик может служить целевым объектом перенаправления по умолчанию.

Регистрация приложения в поставщике удостоверений OIDC

Поставщику необходимо зарегистрировать приложение, указав универсальный код ресурса (URI перенаправления) в форме <app-url>/.auth/login/<provider-name>/callback. В URI перенаправления замените <app-url> URL-адрес приложения и <provider-name> понятное имя, которое вы предоставляете поставщику OpenID в Azure.

Примечание.

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

При регистрации приложения необходимо собрать идентификатор клиента и секрет клиента для приложения. Запишите эти значения для использования в конфигурации приложения Azure.

Примечание.

  • Значение секрета клиента — это важные учетные данные безопасности. Не делитесь этим секретом с кем-либо или распространяйте его в клиентском приложении.
  • Приложение должно предоставить секрет клиента, если вы хотите, чтобы пользователи получили маркеры доступа с помощью интерактивного потока кода авторизации. Если вы не хотите получать маркеры доступа, вам не нужно использовать секрет.

Вам также нужны метаданные OIDC поставщика. Эти метаданные часто предоставляются в документе метаданных конфигурации , который можно получить по пути, сформированном путем добавления /.well-known/openid-configuration к URL-адресу издателя поставщика.

Если вы не можете получить доступ к документу метаданных конфигурации, получите следующие значения отдельно:

Каждый поставщик удостоверений должен предоставить инструкции по выполнению шагов регистрации. Для настройки некоторых поставщиков может потребоваться дополнительная настройка или использование указанных значений. Например, Apple предоставляет закрытый ключ, используемый для создания веб-маркера JSON (JWT), который вы вводите в качестве секрета в конфигурации приложения. Дополнительные сведения см. в разделе "Создание секрета клиента".

Добавление сведений о поставщике в приложение

Чтобы настроить поставщик OpenID Connect в Azure, выполните следующие действия.

  1. На странице портала Azure для приложения выберите "Проверка подлинности " в разделе "Параметры" в меню навигации слева.

  2. На странице проверки подлинности выберите "Добавить поставщика удостоверений" или выберите "Добавить поставщика " в разделе "Поставщик удостоверений ".

  3. На странице "Добавление поставщика удостоверений " выберите OpenID Connect в качестве поставщика.

  4. В поле "Имя поставщика OpenID" введите понятное имя, выбранное для поставщика OIDC.

  5. В разделе конфигурации поставщика OpenID Connect, если у поставщика удостоверений есть документ метаданных, выберите URL-адрес документа для записи метаданных.

    Если у вас нет документа метаданных, выберите ввод метаданных и введите каждый URL-адрес поставщика удостоверений в соответствующем поле.

  6. В разделе регистрации приложения укажите значения, собранные ранее для идентификатора клиента и секрета клиента.

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

    Если вы уже настроили поставщик удостоверений для приложения, этот раздел не отображается. При необходимости можно настроить параметры позже.

  8. Нажмите кнопку "Добавить ", чтобы завершить настройку поставщика удостоверений.

На странице <проверки подлинности oidc_friendly_name>(пользовательский поставщик) теперь отображается в разделе поставщика удостоверений. Параметры поставщика можно изменить, выбрав значок карандаша в разделе "Изменить".

В разделе "Параметры проверки подлинности " показаны такие параметры, как реагирование приложения на запросы, не прошедшие проверку подлинности. Эти параметры можно изменить, выбрав "Изменить " рядом с параметрами проверки подлинности. Дополнительные сведения о параметрах см. в разделе "Поток проверки подлинности".

Секрет приложения хранится в виде параметра приложения с закреплением слота с именем <oidc_friendly_name>_AUTHENTICATION_SECRET. На вкладке "Параметры приложения " на странице переменных среды приложения на портале отображается параметр. Если вы хотите управлять секретом в Azure Key Vault, можно изменить параметр, чтобы использовать ссылки Key Vault.

Примечание.

Чтобы добавить области, определите разрешения, которые приложение имеет на портале регистрации поставщика. Приложение может запрашивать области, использующие эти разрешения во время входа.

  • Azure требует области openid, profile и email. Убедитесь, что вы настроите регистрацию приложения в поставщике удостоверений по крайней мере с этими областями.
  • Область aud должна совпадать с настроенным идентификатором клиента. Вы не можете настроить разрешенную аудиторию для этого поставщика.