Генерация токена аутентификации

В этой статье вы узнаете, как сгенерировать токен аутентификации служебного субъекта, токен аутентификации пользователя и токен обновления пользователя.

Регистрация приложения с помощью Microsoft Entra ID

  1. Чтобы подготовить платформу Azure Data Manager для энергетики, необходимо зарегистрировать приложение на странице регистрации приложения портала Azure. Для регистрации приложения можно использовать либо учетную запись Майкрософт, либо рабочую или учебную учетную запись. Инструкции по настройке см. в документации по регистрации приложения.

  2. В разделе обзора приложения, если не указаны универсальные идентификаторы ресурсов перенаправления (URI), выберите "Добавить веб-платформу>", добавить http://localhost:8080и нажмите кнопку "Сохранить".

    Снимок экрана: добавление URI в приложение.

Получение параметров

Вы также можете найти параметры после регистрации приложения на портале Azure.

Поиск идентификатора клиента

  1. Перейдите к учетной записи Microsoft Entra для вашей организации. Вы можете найти идентификатор Microsoft Entra в строке поиска на портале Azure.

  2. На вкладке "Обзор " в разделе "Основные сведения " найдите идентификатор клиента.

  3. tenant-ID Скопируйте значение и вставьте его в редактор, который будет использоваться позже.

    Снимок экрана, на котором показан поиск Microsoft Entra ID.

    Снимок экрана: поиск идентификатора клиента.

Поиск идентификатора клиента

Это client-id значение, используемое для регистрации приложения во время подготовки экземпляра Azure Data Manager для энергетики. Это часто называется app-id.

  1. Перейдите на страницу Обзор менеджера данных Azure для энергетики. На панели Essentials найдите идентификатор клиента.

  2. client-id Скопируйте значение и вставьте его в редактор, который будет использоваться позже.

  3. В настоящее время одна инстанция Azure Data Manager для энергетики позволяет одному app-id быть связанным с одной инстанцией.

    Это важно

    Значение client-id, переданное в вызовах API доступа, должно быть тем же, что и для развертывания экземпляра Azure Data Manager для энергетики.

    Снимок экрана: поиск идентификатора клиента для зарегистрированного приложения.

Поиск секрета клиента

Это client-secret строковое значение, которое приложение может использовать вместо сертификата для идентификации себя. Иногда он называется паролем приложения.

  1. Перейдите к разделу Регистрация приложений.

  2. В разделе "Управление" выберите сертификаты и секреты.

  3. Выберите Новый секрет клиента, чтобы создать секрет клиента для идентификатора клиента, который вы использовали для создания экземпляра Azure Data Manager для Energy.

  4. Запишите значение секрета для последующего использования в коде клиентского приложения.

    Токен доступа app-id и client-secret предоставляет уровень доступа администратора инфраструктуры к инстансу.

    Осторожность

    Не забудьте записать значение секрета. Это секретное значение больше не будет отображаться после того, как вы покинете эту страницу при создании секрета клиента.

    Снимок экрана: поиск секрета клиента.

Найдите URI перенаправления

Компонент redirect-uri вашего приложения, где оно отправляет и получает ответы проверки подлинности. Он должен точно соответствовать одному из URI перенаправления, зарегистрированных на портале, за исключением того, что он должен быть закодирован в формате URL.

  1. Перейдите к разделу Регистрация приложений.
  2. В разделе "Управление" выберите "Проверка подлинности".
  3. Получите redirect-uri (или URL-адрес ответа) для вашего приложения, чтобы получать ответы от Microsoft Entra ID.

Снимок экрана: URI перенаправления.

Найдите adme-URL-адрес для экземпляра Azure Data Manager для энергетики

  1. Создайте экземпляр Azure Data Manager для энергетики с помощью полученного client-id в разделе «Поиск идентификатора клиента».

  2. Перейдите на страницу Обзор Azure Data Manager для энергетики на портале Azure.

  3. Скопируйте универсальный код ресурса (URI) на панели Essentials .

    Снимок экрана: поиск URI для экземпляра Azure Data Manager для энергетики.

Найдите data-partition-id

У вас есть два способа получить список разделов данных в экземпляре Azure Data Manager for Energy.

  • Вариант 1. В разделе "Дополнительно " в пользовательском интерфейсе Azure Data Manager для энергетики перейдите в меню "Секции данных ".

    Снимок экрана, показывающий поиск идентификатора раздела данных в экземпляре Azure Data Manager для энергетики.

  • Вариант 2. На панели Основные сведения на странице Обзор Azure Data Manager для энергетики в поле Разделы данных выберите просмотр.

    Снимок экрана: поиск идентификатора секции данных на странице обзора экземпляра Azure Data Manager для энергетики.

    Снимок экрана, показывающий, как найти идентификатор раздела данных на странице обзора экземпляра Azure Data Manager для энергетики с разделами данных.

Поиск домена

По умолчанию для всех экземпляров Azure Data Manager for Energy используется domain dataservices.energy.

Сгенерировать токен аутентификации для идентификатора клиента

Выполните следующую команду curl в Azure Cloud Bash после замены значений заполнителей соответствующими значениями, найденными ранее на предыдущих шагах. Маркер доступа в ответе — это client-id маркер проверки подлинности.

формат запроса

curl --location --request POST 'https://login.microsoftonline.com/<tenant-id>/oauth2/token' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'grant_type=client_credentials' \
--data-urlencode 'scope=<client-id>.default' \
--data-urlencode 'client_id=<client-id>' \
--data-urlencode 'client_secret=<client-secret>' \
--data-urlencode 'resource=<client-id>'

Пример ответа

    {
        "token_type": "Bearer",
        "expires_in": 86399,
        "ext_expires_in": 86399,
        "access_token": "abcdefgh123456............."
    }

Создайте токен аутентификации пользователя

Генерация токена аутентификации пользователя — это двухэтапный процесс.

Получение кода авторизации

Первым шагом для получения токена доступа для многих потоков OpenID Connect (OIDC) и OAuth 2.0 является перенаправление пользователя на конечную точку платформы удостоверений Майкрософт /authorize. Идентификатор Microsoft Entra выполняет вход пользователя и запрашивает их согласие на разрешения, которые запрашивает ваше приложение. В потоке предоставления кода авторизации, после получения согласия, Microsoft Entra ID возвращает код авторизации вашему приложению, который оно может обменять в конечной точке платформы /token удостоверений Майкрософт на токен доступа.

  1. Подготовьте формат запроса с помощью параметров.

    https://login.microsoftonline.com/<tenant-id>/oauth2/v2.0/authorize?client_id=<client-id>
    &response_type=code
    &redirect_uri=<redirect-uri>
    &response_mode=query
    &scope=<client-id>%2f.default&state=12345&sso_reload=true
    
  2. После замены параметров можно вставить запрос в URL-адрес любого браузера и нажать клавишу Enter.

  3. Войдите на портал Azure, если вы еще не вошли.

  4. Вы можете увидеть сообщение об ошибке "Хммм... Не удаётся подключиться к этой странице" в браузере. Его можно пропустить.

    Снимок экрана: перенаправление localhost.

  5. Браузер перенаправляется на http://localhost:8080/?code={authorization code}&state=... после успешной проверки подлинности.

  6. Скопируйте ответ из строки URL-адреса браузера и извлеките текст между code= и &state.

    http://localhost:8080/?code=0.BRoAv4j5cvGGr0...au78f&state=12345&session....
    
  7. Держите это authorization-code под рукой для дальнейшего использования.

    Параметр Описание
    код Запрашиваемый приложением код авторизации. Приложение может использовать код авторизации для запроса токена доступа для целевого ресурса. Коды авторизации имеют небольшой срок действия. Обычно они истекают через примерно 10 минут.
    государство Если параметр состояния включен в запрос, то в ответе должно появиться то же значение. Приложение должно убедиться, что значения параметра state в запросе и отклике идентичны. Эта проверка помогает обнаружить атаки межсайтовой подделки запроса (CSRF). Дополнительные сведения см. в статье об атаках CSRF.
    состояние_сессии Уникальное значение, определяющее текущий сеанс пользователя. Это значение представляет собой GUID, но должно рассматриваться как значение, не подлежащее анализу, и передаваться без проверки.

Предупреждение

Запуск URL-адреса в других клиентах API на основе графического интерфейса не работает, так как для них требуется дополнительная настройка для получения токенов.

Получите токен аутентификации и токен обновления

Второй шаг — получить маркер проверки подлинности и маркер обновления. Приложение использует код авторизации, полученный на предыдущем шаге, для запроса токена доступа путем отправки HTTP-запроса POST в /token конечную точку.

Формат запроса

  curl -X POST -H "Content-Type: application/x-www-form-urlencoded" -d 'client_id=<client-id>
  &scope=<client-id>%2f.default openid profile offline_access
  &code=<authorization-code>
  &redirect_uri=<redirect-uri>
  &grant_type=authorization_code
  &client_secret=<client-secret>' 'https://login.microsoftonline.com/<tenant-id>/oauth2/v2.0/token'

Пример ответа

{
  "token_type": "Bearer",
  "scope": "User.Read profile openid email",
  "expires_in": 4557,
  "access_token": "eyJ0eXAiOiJKV1QiLCJub25jZSI6IkJuUXdJd0ZFc...",
  "refresh_token": "0.ARoAv4j5cvGGr0GRqy180BHbR8lB8cvIWGtHpawGN..."
}
Параметр Описание
тип токена Указывает значение типа токена. Единственный тип, поддерживаемый Microsoft Entra ID, — это Bearer.
охват Разделенный пробелом список разрешений Microsoft Graph, допустимых для маркера доступа.
срок действия истечет через Срок действия токена доступа (в секундах).
маркер доступа (access_token) Запрашиваемый маркер доступа. Приложение может использовать этот маркер для вызова Microsoft Graph.
рефреш_токен Токен обновления OAuth 2.0. Приложение может использовать этот маркер для получения дополнительных маркеров доступа после истечения срока действия текущего маркера доступа. Маркер обновления являются долговечными и могут использоваться для сохранения доступа к ресурсам в течение продолжительного периода времени.

Дополнительные сведения о создании маркера доступа пользователей и использовании маркера обновления для создания нового маркера доступа см. в разделе "Создание маркеров обновления".

OSDU® — это товарный знак Open Group.

Дальнейшие действия

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