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


Общедоступные и конфиденциальные клиентские приложения

Библиотека проверки подлинности Майкрософт (MSAL) определяет два типа клиентов — общедоступных клиентов и конфиденциальных клиентов. Два типа клиентов отличаются возможностью безопасной проверки подлинности с помощью сервера авторизации и поддержания конфиденциальности учетных данных клиента.

  • Конфиденциальные клиентские приложения — это приложения, которые выполняются на серверах, таких как веб-приложения, веб-ПРИЛОЖЕНИЯ API или приложения управляющей программы. Их внутренние элементы считаются сложными для доступа, и поэтому они могут обеспечить безопасность приложения и вне зрения своих пользователей. Конфиденциальные клиенты могут содержать секретные ключи времени настройки. Каждый экземпляр клиента имеет свою конфигурацию (включая идентификатор клиента и секрет клиента). Веб-приложение — это наиболее распространенный конфиденциальный клиент. Идентификатор клиента предоставляется через веб-браузер, но секрет передается только через серверную часть и никогда не предоставляется напрямую.
  • Общедоступные клиентские приложения — это приложения , которые выполняются на потребительских устройствах, настольных компьютерах или в веб-браузере. Они не являются доверенными для безопасного хранения секретов приложений, так как клиентские приложения могут быть перепроектированы или проверены своими пользователями, поэтому они обращаются только к веб-API от имени пользователя. Они также поддерживают только общедоступные потоки клиентов.

Сравнение типов клиентов

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

  • Оба типа приложений поддерживают кэш маркеров пользователя и могут автоматически получать маркер (когда маркер уже находится в кэше маркеров). Конфиденциальные клиентские приложения также имеют кэш токенов приложений для токенов, которые предназначены для самого приложения. Дополнительные сведения о различных типах кэша маркеров см. в руководстве по сериализации кэша маркеров.
  • Оба типа приложений управляют учетными записями пользователей и могут получить учетную запись из кэша маркеров пользователя, получить учетную запись на основе его идентификатора или удалить учетную запись.

В MSAL идентификатор клиента, также называемый идентификатором приложения или идентификатором приложения, используется во время инициализации приложения. Его не нужно передавать повторно, когда приложение получает токен. Это справедливо для общедоступных и конфиденциальных клиентских приложений. Конструкторы конфиденциальных клиентских приложений также передают учетные данные клиента: секрет, который они совместно используют поставщику удостоверений, который может быть секретным ключом (представленным как строка) или сертификатом.

Следующие шаги

Дополнительные сведения о настройке приложения и создании экземпляра см. в следующих статьях: