Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье показано, как настроить Azure App Service или Azure Functions использовать настраиваемый поставщик проверки подлинности, соответствующий спецификации OpenID Connect. OIDC — это отраслевый стандарт, используемый многими поставщиками удостоверений. Вам не нужно понимать подробности спецификации, чтобы пользоваться поставщиком удостоверений OpenID Connect (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-адресу издателя поставщика. Метаданные включают mtls_endpoint_aliases в качестве части взаимной аутентификации клиента с помощью TLS.
Если вы не можете получить доступ к документу метаданных конфигурации, получите следующие значения отдельно:
- URL-адрес издателя, иногда показан как
issuer. -
Конечная точка авторизации OAuth 2.0, иногда показанная как
authorization_endpoint. -
Конечная точка маркера OAuth 2.0, иногда показанная как
token_endpoint. - URL-адрес документа набора веб-ключей JSON OAuth 2.0 , иногда показан как
jwks_uri.
Каждый поставщик удостоверений должен предоставить инструкции по выполнению шагов регистрации. Для некоторых поставщиков могут потребоваться дополнительные шаги для настройки или использования предоставленных ими значений. Например, Apple предоставляет закрытый ключ, используемый для создания веб-маркера JSON (JWT), который вы вводите в качестве секрета в конфигурации приложения. Дополнительные сведения см. в разделе "Создание секрета клиента".
Добавление сведений о поставщике в приложение
Чтобы настроить поставщик OpenID Connect в Azure, выполните следующие действия.
На портале Azure для приложения выберите Authentication в разделе Settings в меню навигации слева.
На странице проверки подлинности выберите "Добавить поставщика удостоверений" или выберите "Добавить поставщика " в разделе "Поставщик удостоверений ".
На странице "Добавление поставщика удостоверений " выберите OpenID Connect в качестве поставщика.
В поле "Имя поставщика OpenID" введите понятное имя, выбранное для поставщика OIDC.
В разделе конфигурации поставщика OpenID Connect, если у поставщика удостоверений есть документ метаданных, выберите URL-адрес документа для записи метаданных.
Если у вас нет документа метаданных, выберите ввод метаданных и введите каждый URL-адрес поставщика удостоверений в соответствующем поле.
В разделе регистрации приложения укажите значения, собранные ранее для идентификатора клиента и секрета клиента.
Если это первый поставщик удостоверений для приложения, раздел параметров проверки подлинности службы приложений отображается с такими параметрами, как реагирование приложения на запросы без проверки подлинности. Выбор по умолчанию перенаправляет все запросы на вход через нового провайдера.
Если вы уже настроили поставщика удостоверений для приложения, этот раздел не будет виден. При необходимости можно настроить параметры позже.
Нажмите кнопку "Добавить ", чтобы завершить настройку поставщика удостоверений.
На странице Аутентификации<oidc_friendly_name>(пользовательский провайдер) теперь отображается в разделе Поставщик удостоверений. Параметры поставщика можно изменить, выбрав значок карандаша в разделе "Изменить".
В разделе "Параметры проверки подлинности " показаны такие параметры, как реагирование приложения на запросы, не прошедшие проверку подлинности. Эти параметры можно изменить, выбрав "Изменить " рядом с параметрами проверки подлинности. Дополнительные сведения о параметрах см. в разделе "Поток проверки подлинности".
Секрет приложения хранится в виде параметра приложения, привязанного к слоту, с именем <oidc_friendly_name>_AUTHENTICATION_SECRET. Вы можете просмотреть этот параметр на вкладке "Параметры приложения" на странице переменные среды вашего приложения в портале. Если вы хотите управлять секретом в Azure Key Vault, можно изменить параметр, чтобы использовать ссылки на Key Vault.
Примечание.
Чтобы добавить области, определите разрешения, которые приложение имеет на портале регистрации поставщика. Приложение может запрашивать области, использующие эти разрешения во время входа.
- Azure необходимы области действия
openid,profileиemail. Убедитесь, что вы настроите регистрацию приложения у вашего поставщика удостоверений по крайней мере с данными областями. - Область
audдолжна совпадать с настроенным идентификатором клиента. Вы не можете настроить разрешенную аудиторию для этого поставщика.