ConfidentialClientApplication Класс
То же самое, что <xref:ClientApplication.__init__>и этот allow_broker параметр, должен остаться None.
Создайте экземпляр приложения.
Конструктор
ConfidentialClientApplication(client_id, client_credential=None, authority=None, validate_authority=True, token_cache=None, http_client=None, verify=True, proxies=None, timeout=None, client_claims=None, app_name=None, app_version=None, client_capabilities=None, azure_region=None, exclude_scopes=None, http_cache=None, instance_discovery=None, allow_broker=None, enable_pii_log=None, oidc_authority=None)
Параметры
| Имя | Описание |
|---|---|
|
client_id
Обязательно
|
Приложение имеет client_id после регистрации его на Центр администрирования Microsoft Entra. |
|
client_credential
|
Для PublicClientApplicationэтого вы используете None здесь. Для ConfidentialClientApplicationэтого он поддерживает множество различных форматов входных данных для различных сценариев. Поддержка использования секрета клиента. Просто веб-канал в строке, например
|
|
client_claims
|
Добавлено в версию 0.5.0: это словарь дополнительных утверждений, подписанных этим закрытым ключом ConfidentialClientApplication . Например, можно использовать {"client_ip": "x.x.x.x".}. Вы также можете переопределить любое из следующих утверждений по умолчанию:
Значение по умолчанию: None
|
|
authority
|
URL-адрес, определяющий центр маркера. Он должен иметь формат
Изменено в версии 1.17: можно также использовать предопределенную константу и построитель, как показано ниже:
Значение по умолчанию: None
|
|
validate_authority
|
(необязательно) Включает или отключает проверку центра. Этот параметр по умолчанию имеет значение true. Значение по умолчанию: True
|
|
token_cache
|
Задает кэш маркеров, используемый этим экземпляром ClientApplication. По умолчанию кэш в памяти будет создан и использован. Значение по умолчанию: None
|
|
http_client
|
(необязательно) Реализация абстрактного класса HttpClient <msal.oauth2cli.http.http_client> По умолчанию для экземпляра сеанса запросов. Так как MSAL 1.11.0 сеанс по умолчанию будет настроен для попытки одного повтора при ошибке подключения. Если вы предоставляете свой собственный http_client, это будет ваша обязанность http_client решить, следует ли выполнять повторную попытку. Значение по умолчанию: None
|
|
verify
|
(необязательно) Он будет передан в параметр проверки в базовой библиотеке запросов , если вы решили передать собственный http-клиент. Значение по умолчанию: True
|
|
proxies
|
(необязательно) Он будет передан параметру прокси-серверов в базовой библиотеке запросов , если вы решили передать собственный http-клиент. Значение по умолчанию: None
|
|
timeout
|
(необязательно) Он будет передан параметру времени ожидания в базовой библиотеке запросов , если вы решили передать собственный http-клиент. Значение по умолчанию: None
|
|
app_name
|
(необязательно) Вы можете указать имя приложения для Microsoft целей телеметрии. Значение по умолчанию — None, означает, что он не будет передан в Microsoft. Значение по умолчанию: None
|
|
app_version
|
(необязательно) Вы можете предоставить версию приложения для Microsoft целей телеметрии. Значение по умолчанию — None, означает, что он не будет передан в Microsoft. Значение по умолчанию: None
|
|
client_capabilities
|
(необязательно) Разрешает настройку одного или нескольких клиентских возможностей, например ["CP1"]. Возможность клиента предназначена для информирования платформа удостоверений Майкрософт (STS) о том, что этот клиент может использовать, поэтому stS может решить включить определенные функции. Например, если клиент способен справиться с вызовом утверждений, служба STS может выдавать маркеры доступа к ресурсам непрерывной оценки доступа (CAE), зная, что при вызове утверждений клиент сможет справиться с этими проблемами. Сведения о реализации: возможности клиента реализованы с помощью параметра claims в проводной сети. MSAL объединяет их в параметр утверждений , который вы будете предоставлять через один из запросов на получение маркера. Значение по умолчанию: None
|
|
azure_region
|
(необязательно) Указывает MSAL использовать региональную службу токенов Entra. Эта устаревшая функция доступна только для сторонних приложений. Поддерживается только Поддерживает 4 значения:
Note Автоматическое обнаружение региона было проверено на виртуальных машинах и на Функции Azure. Это ненадежно. Приложения, использующие этот параметр, должны настроить короткое время ожидания. Дополнительные сведения и значения строки региона Видеть https://learn.microsoft.com/entra/msal/dotnet/resources/region-discovery-troubleshooting Новые возможности в версии 1.12.0. Значение по умолчанию: None
|
|
exclude_scopes
|
(необязательно) Исторически жесткие коды MSAL offline_access области, что позволит приложению иметь длительный доступ к данным пользователя.
Если это необязательно или нежелательно для приложения, теперь этот параметр можно использовать для предоставления списка исключений областей, таких как Значение по умолчанию: None
|
|
http_cache
|
MSAL уже давно кэширование маркеров в Этот Если приложение является приложением командной строки (CLI), вы хотите сохранить http_cache в разных запусках CLI. Формат сохраненного файла может измениться из-за отсутствия ограничений на неустойчивый протокол, поэтому реализация должна допускать непредвиденные ошибки загрузки. В следующем рецепте показано, как это сделать:
Содержимое внутри Содержимое внутри Новые возможности версии 1.16.0. Значение по умолчанию: None
|
|
instance_discovery
|
<xref:boolean>
Исторически MSAL подключается к центральной конечной точке, расположенной Этот параметр по умолчанию использует значение None, которое включает обнаружение экземпляров. Если вы знаете некоторые органы, которые позволяют MSAL работать с as-is, без участия обнаружения экземпляров рекомендуется:
Если вы не знаете некоторые органы заранее, но по-прежнему хотите, чтобы MSAL принял какие-либо полномочия, которые вы предоставите, вы можете использовать для безусловного Новая версия 1.19.0. Значение по умолчанию: None
|
|
allow_broker
|
<xref:boolean>
Deprecated. Взамен рекомендуется использовать Значение по умолчанию: None
|
|
enable_pii_log
|
<xref:boolean>
При включении журналы могут включать личные данные (персональные данные). Это может быть полезно при устранении неполадок с поведением брокера. По умолчанию используется значение False. Новая версия 1.24.0. Значение по умолчанию: None
|
|
oidc_authority
|
Добавлено в версию 1.28.0: это URL-адрес, определяющий центр OpenID Connect (OIDC) формата Примечание. Брокер не будет использоваться для центра OIDC. Значение по умолчанию: None
|
Методы
| acquire_token_for_client |
Получает маркер для текущего конфиденциального клиента, а не для конечного пользователя. Так как MSAL Python 1.23, он будет автоматически искать маркер из кэша и отправлять запрос только поставщику удостоверений при отсутствии кэша. |
| acquire_token_on_behalf_of |
Получает маркер с помощью потока от имени (OBO). Текущее приложение — это служба среднего уровня, которая была вызвана маркером, представляющим конечного пользователя. Текущее приложение может использовать такой маркер (a.k.a. утверждение пользователя) для запроса другого маркера для доступа к нижестоящему веб-API от имени этого пользователя. Дополнительные сведения см. здесь. Текущее приложение среднего уровня не имеет взаимодействия с пользователем для получения согласия. Узнайте, как получить согласие для вашего приложения среднего уровня из этой статьи. https://docs.microsoft.com/en-us/azure/active-directory/develop/v2-oauth2-on-behalf-of-flow#gaining-consent-for-the-middle-tier-application |
| remove_tokens_for_client |
Удалите все маркеры, которые ранее были приобретены через acquire_token_for_client текущий клиент. |
acquire_token_for_client
Получает маркер для текущего конфиденциального клиента, а не для конечного пользователя.
Так как MSAL Python 1.23, он будет автоматически искать маркер из кэша и отправлять запрос только поставщику удостоверений при отсутствии кэша.
acquire_token_for_client(scopes, claims_challenge=None, fmi_path=None, **kwargs)
Параметры
| Имя | Описание |
|---|---|
|
scopes
Обязательно
|
(обязательно) Области, запрошенные для доступа к защищенному API (ресурсу). |
|
claims_challenge
|
Параметр claims_challenge запрашивает определенные утверждения, запрашиваемые поставщиком ресурсов, в виде директивы claims_challenge в заголовке www-authentication, возвращаемого из конечной точки UserInfo и (или) маркера идентификатора и (или) маркера доступа. Это строка объекта JSON, который содержит списки утверждений, запрашиваемых из этих расположений. Значение по умолчанию: None
|
|
fmi_path
|
Optional. Путь к учетным данным федеративного управляемого удостоверения (FMI).
При указании он отправляется в качестве
Значение по умолчанию: None
|
Возвращаемое значение
| Тип | Описание |
|---|---|
|
Дикт, представляющий ответ JSON из Microsoft Entra:
|
acquire_token_on_behalf_of
Получает маркер с помощью потока от имени (OBO).
Текущее приложение — это служба среднего уровня, которая была вызвана маркером, представляющим конечного пользователя. Текущее приложение может использовать такой маркер (a.k.a. утверждение пользователя) для запроса другого маркера для доступа к нижестоящему веб-API от имени этого пользователя. Дополнительные сведения см. здесь.
Текущее приложение среднего уровня не имеет взаимодействия с пользователем для получения согласия. Узнайте, как получить согласие для вашего приложения среднего уровня из этой статьи. https://docs.microsoft.com/en-us/azure/active-directory/develop/v2-oauth2-on-behalf-of-flow#gaining-consent-for-the-middle-tier-application
acquire_token_on_behalf_of(user_assertion, scopes, claims_challenge=None, **kwargs)
Параметры
| Имя | Описание |
|---|---|
|
user_assertion
Обязательно
|
Входящие маркеры, уже полученные этим приложением |
|
scopes
Обязательно
|
Области, необходимые нижестоящим API (ресурс). |
|
claims_challenge
|
Параметр claims_challenge запрашивает определенные утверждения, запрашиваемые поставщиком ресурсов, в виде директивы claims_challenge в заголовке www-authentication, возвращаемого из конечной точки UserInfo и (или) маркера идентификатора и (или) маркера доступа. Это строка объекта JSON, содержащего списки утверждений, запрашиваемых из этих расположений. Значение по умолчанию: None
|
Возвращаемое значение
| Тип | Описание |
|---|---|
|
Дикт, представляющий ответ JSON из Microsoft Entra:
|
remove_tokens_for_client
Удалите все маркеры, которые ранее были приобретены через acquire_token_for_client текущий клиент.
remove_tokens_for_client()