Общие сведения о токенах и утверждениях
Централизованный поставщик удостоверений особенно полезен для приложений, у которых есть пользователи по всему миру, которые не обязательно входят из сети предприятия. Платформа удостоверений Майкрософт проверяет подлинность пользователей и предоставляет маркеры безопасности, в том числе маркеры доступа, маркеры обновления и маркеры идентификации. Маркеры безопасности позволяют клиентскому приложению получать доступ к защищенным ресурсам на сервере ресурсов.
- Маркер доступа . Маркер доступа — это маркер безопасности, выданный сервером авторизации в рамках потока OAuth 2.0. Он содержит сведения о пользователе и ресурсе, для которых предназначен маркер. Эти сведения можно использовать для доступа к веб-API и другим защищенным ресурсам. Ресурсы проверяют маркеры доступа для предоставления доступа клиентскому приложению. Дополнительные сведения см. в разделе "Маркеры доступа" в платформа удостоверений Майкрософт.
- Маркер обновления. Так как маркеры доступа действительны только в течение короткого периода времени, серверы авторизации иногда выдают маркер обновления одновременно с маркером доступа. После этого клиентское приложение может при необходимости обмениваться этим маркером обновления для получения нового маркера доступа. Дополнительные сведения см. в разделе "Маркеры обновления" в платформа удостоверений Майкрософт.
- Маркер идентификации. Эти маркеры отправляются клиентскому приложению в составе потока OpenID Connect. Их можно отправлять вместе с маркером доступа или вместо него. Маркеры идентификации используются клиентом для проверки подлинности пользователя. Дополнительные сведения о том, как платформа удостоверений Майкрософт выдает маркеры идентификатора, см. в платформа удостоверений Майкрософт маркеры идентификаторов.
Многие корпоративные приложения используют для проверки подлинности пользователей протокол SAML. Дополнительные сведения о утверждениях SAML см . в справочнике по токену SAML.
Проверка маркеров
Это касается приложения, для которого был создан маркер, веб-приложение, вошедшего в систему пользователя, или вызываемого веб-API для проверки маркера. Сервер авторизации подписывает маркер закрытым ключом. Сервер авторизации публикует соответствующий открытый ключ. Для проверки маркера приложение проверяет подпись с помощью открытого ключа сервера авторизации, чтобы удостовериться в том, что подпись была создана с помощью закрытого ключа. Дополнительные сведения см. в статье "Безопасные приложения и API", проверяя статью о утверждениях .
По возможности рекомендуется использовать поддерживаемые библиотеки проверки подлинности Майкрософт (MSAL ). Это реализует приобретение, обновление и проверку маркеров для вас. Он также реализует обнаружение параметров клиента и ключей, совместимых со стандартами, с помощью известного документа обнаружения OpenID клиента. MSAL поддерживает множество различных архитектур приложений и платформ, в том числе .NET, JavaScript, Java, Python, Android и iOS.
Маркеры действительны только в течение ограниченного времени, поэтому сервер авторизации часто предоставляет пару маркеров. Предоставляется маркер доступа, который обращается к приложению или защищенному ресурсу. Предоставляется маркер обновления, который используется для обновления маркера доступа при закрытии срока действия маркера доступа.
Маркеры доступа передаются в веб-API в качестве маркера носителя в заголовке Authorization
. Приложение может предоставлять маркер обновления серверу авторизации. Если пользователь не получил доступ к приложению, он получает новый маркер доступа и новый маркер обновления. Когда сервер авторизации получает маркер обновления, он выдает еще один маркер доступа, только если пользователь по-прежнему авторизован.
Маркеры JSON Web Token и утверждения
Платформа удостоверений Майкрософт реализует маркеры безопасности в виде маркеров JSON Web Token (JWT), которые содержат утверждения. Так как маркеры JWT используются в качестве маркеров безопасности, такая форма проверки подлинности иногда называется проверкой подлинности JWT.
Утверждение предоставляет проверочное утверждение об одной сущности, например клиентском приложении или владельце ресурса, другой сущности, например серверу ресурсов. Утверждение также может называться утверждением JWT или утверждением JSON Web Token.
Утверждения — это пары имен и значений, которые ретранслируют факты о субъекте маркера. Например, утверждение может содержать факты о субъекте безопасности, прошедшем проверку подлинности сервера авторизации. Утверждения, представленные в конкретном маркере, зависят от многих факторов, например типа маркера, типа учетных данных, используемых для проверки подлинности субъекта, и конфигурации приложения.
Приложения могут использовать утверждения для следующих различных задач:
- проверка маркера безопасности;
- Определение клиента субъекта маркера
- Отображение сведений о пользователе
- определение авторизации субъекта.
Утверждение состоит из пар "ключ-значение", которые предоставляют следующие типы сведений:
- Сервер маркеров безопасности, создающий маркер
- Дата создания маркера
- Тема (например, пользователь, но не daemons)
- Аудитория, которая является приложением, для которого был создан маркер.
- Приложение (клиент), запрашивающее маркер
Конечные точки и издатели маркеров
Идентификатор Microsoft Entra поддерживает две конфигурации клиента: конфигурацию рабочей силы, предназначенную для внутреннего использования и управления сотрудниками и бизнес-гостями, а также конфигурацию клиента, оптимизированную для изоляции потребителей и партнеров в ограниченном внешнем каталоге. Хотя базовая служба удостоверений идентична конфигурации клиента, домены входа и центр выдачи маркеров для внешних клиентов отличаются. Это позволяет приложениям сохранять рабочие процессы и внешние рабочие процессы идентификаторов, разделенные при необходимости.
Клиенты рабочей силы Microsoft Entra проходят проверку подлинности в login.microsoftonline.com с маркерами, выданными sts.windows.net. Маркеры клиента рабочей силы обычно взаимозаменяемы между клиентами и мультитенантными приложениями, если базовые отношения доверия позволяют обеспечить это взаимодействие. Внешние клиенты Microsoft Entra используют конечные точки клиента формы {tenantname}.ciamlogin.com. Приложения, зарегистрированные во внешних клиентах, должны учитывать это разделение, чтобы получать и проверять маркеры правильно.
Каждый клиент Microsoft Entra публикует хорошо известные метаданные, соответствующие стандартам. Этот документ содержит сведения о имени издателя, конечных точках проверки подлинности и авторизации, поддерживаемых областях и утверждениях. Для внешних клиентов документ доступен по адресу: https://{tenantname}.ciamlogin.com/{tenantid}/v2.0/.well-known/openid-configuration. Эта конечная точка возвращает значение издателя https://{tenantid}.ciamlogin.com/{tenantid}/v2.0.
Потоки авторизации и коды проверки подлинности
В зависимости от того, как создан клиент, он может использовать один или несколько потоков проверки подлинности, поддерживаемых платформа удостоверений Майкрософт. Поддерживаемые потоки могут создавать различные маркеры и коды авторизации и требовать от них разные маркеры. В следующей таблице представлен обзор.
Flow | Требуется | Маркер идентификации | Маркер доступа | маркер обновления. | Код авторизации |
---|---|---|---|---|---|
Поток кода авторизации | x | x | x | x | |
Неявный поток | x | x | |||
Гибридный поток OIDC | x | x | |||
Активация маркера обновления | маркер обновления. | x | x | x | |
Поток On-Behalf-Of | Маркер доступа | x | x | x | |
Учетные данные клиента | x (только приложение) |
См. также
Следующие шаги
- Сведения об основных понятиях, связанных с проверкой подлинности и авторизацией, см. в статье Проверка подлинности и авторизация.