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


Authorization Server - Create Or Update

Создает новый сервер авторизации или обновляет существующий сервер авторизации.

PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/authorizationServers/{authsid}?api-version=2024-05-01

Параметры URI

Имя В Обязательно Тип Описание
authsid
path True

string

minLength: 1
maxLength: 80
pattern: ^[^*#&+:<>?]+$

Идентификатор сервера авторизации.

resourceGroupName
path True

string

minLength: 1
maxLength: 90

Имя группы ресурсов. Имя не учитывает регистр.

serviceName
path True

string

minLength: 1
maxLength: 50
pattern: ^[a-zA-Z](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$

Имя службы управления API.

subscriptionId
path True

string (uuid)

Идентификатор целевой подписки. Значение должно быть UUID.

api-version
query True

string

minLength: 1

Версия API, используемая для этой операции.

Заголовок запроса

Имя Обязательно Тип Описание
If-Match

string

ETag сущности. Не требуется при создании сущности, но требуется при обновлении сущности.

Текст запроса

Имя Обязательно Тип Описание
properties.authorizationEndpoint True

string

Конечная точка авторизации OAuth. См. http://tools.ietf.org/html/rfc6749#section-3.2.

properties.clientId True

string

Идентификатор клиента или приложения, зарегистрированный на этом сервере авторизации.

properties.clientRegistrationEndpoint True

string

Необязательная ссылка на страницу, на которой выполняется регистрация клиента или приложения для этого сервера авторизации. Содержит абсолютный URL-адрес для ссылки на сущность.

properties.displayName True

string

minLength: 1
maxLength: 50

Понятное имя сервера авторизации.

properties.grantTypes True

GrantType[]

Форма предоставления авторизации, которую клиент использует для запроса маркера доступа.

properties.authorizationMethods

AuthorizationMethod[]

HTTP-команды, поддерживаемые конечной точкой авторизации. GET должен всегда присутствовать. POST является необязательным.

properties.bearerTokenSendingMethods

BearerTokenSendingMethod[]

Указывает механизм, с помощью которого маркер доступа передается API.

properties.clientAuthenticationMethod

ClientAuthenticationMethod[]

Метод проверки подлинности, поддерживаемый конечной точкой маркера этого сервера авторизации. Возможные значения: "Базовый" и (или) "Текст". При указании текста учетные данные клиента и другие параметры передаются в тексте запроса в формате application/x-www-form-urlencoded.

properties.clientSecret

string

Секрет клиента или приложения, зарегистрированный на этом сервере авторизации. Это свойство не будет заполнено в операциях GET! Используйте запрос POST "/listSecrets", чтобы получить это значение.

properties.defaultScope

string

Область маркера доступа, запрашиваемая по умолчанию. Можно переопределить на уровне API. Следует указать в виде строки, содержащей значения с разделителями пространства.

properties.description

string

Описание сервера авторизации. Может содержать теги форматирования HTML.

properties.resourceOwnerPassword

string

При необходимости можно указать, когда тип предоставления пароля владельца ресурса поддерживается этим сервером авторизации. Пароль владельца ресурса по умолчанию.

properties.resourceOwnerUsername

string

При необходимости можно указать, когда тип предоставления пароля владельца ресурса поддерживается этим сервером авторизации. Имя пользователя владельца ресурса по умолчанию.

properties.supportState

boolean

Если задано значение true, сервер авторизации будет включать параметр состояния из запроса авторизации в ответ. Клиент может использовать параметр состояния для повышения безопасности протокола.

properties.tokenBodyParameters

TokenBodyParameterContract[]

Дополнительные параметры, необходимые конечной точке маркера этого сервера авторизации, представленного в виде массива объектов JSON со свойствами строки имени и значения, т. е. {"name" : "name value", "value": "a value"}.

properties.tokenEndpoint

string

Конечная точка маркера OAuth. Содержит абсолютный универсальный код ресурса (URI) для объекта, на который ссылается ссылка.

properties.useInApiDocumentation

boolean

Если значение true, сервер авторизации будет использоваться в документации по API на портале разработчика. Значение false по умолчанию, если значение не указано.

properties.useInTestConsole

boolean

Если задано значение true, сервер авторизации может использоваться в тестовой консоли портала разработчика. Значение true по умолчанию, если значение не указано.

Ответы

Имя Тип Описание
200 OK

AuthorizationServerContract

Сервер авторизации уже зарегистрирован.

Заголовки

ETag: string

201 Created

AuthorizationServerContract

Сервер авторизации успешно зарегистрирован.

Заголовки

ETag: string

Other Status Codes

ErrorResponse

Ответ на ошибку, описывающий причину сбоя операции.

Безопасность

azure_auth

Поток OAuth2 Azure Active Directory.

Тип: oauth2
Flow: implicit
URL-адрес авторизации: https://login.microsoftonline.com/common/oauth2/authorize

Области

Имя Описание
user_impersonation олицетворения учетной записи пользователя

Примеры

ApiManagementCreateAuthorizationServer

Образец запроса

PUT https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/authorizationServers/newauthServer?api-version=2024-05-01

{
  "properties": {
    "displayName": "test2",
    "useInTestConsole": false,
    "useInApiDocumentation": true,
    "description": "test server",
    "clientRegistrationEndpoint": "https://www.contoso.com/apps",
    "authorizationEndpoint": "https://www.contoso.com/oauth2/auth",
    "authorizationMethods": [
      "GET"
    ],
    "tokenEndpoint": "https://www.contoso.com/oauth2/token",
    "supportState": true,
    "defaultScope": "read write",
    "grantTypes": [
      "authorizationCode",
      "implicit"
    ],
    "bearerTokenSendingMethods": [
      "authorizationHeader"
    ],
    "clientId": "1",
    "clientSecret": "2",
    "resourceOwnerUsername": "un",
    "resourceOwnerPassword": "pwd"
  }
}

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

{
  "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/authorizationServers/newauthServer",
  "type": "Microsoft.ApiManagement/service/authorizationServers",
  "name": "newauthServer",
  "properties": {
    "displayName": "test2",
    "useInTestConsole": false,
    "useInApiDocumentation": true,
    "description": "test server",
    "clientRegistrationEndpoint": "https://www.contoso.com/apps",
    "authorizationEndpoint": "https://www.contoso.com/oauth2/auth",
    "authorizationMethods": [
      "GET"
    ],
    "tokenEndpoint": "https://www.contoso.com/oauth2/token",
    "supportState": true,
    "defaultScope": "read write",
    "grantTypes": [
      "authorizationCode",
      "implicit"
    ],
    "bearerTokenSendingMethods": [
      "authorizationHeader"
    ],
    "clientId": "1",
    "resourceOwnerUsername": "un",
    "resourceOwnerPassword": "pwd"
  }
}
{
  "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/authorizationServers/newauthServer",
  "type": "Microsoft.ApiManagement/service/authorizationServers",
  "name": "newauthServer",
  "properties": {
    "displayName": "test2",
    "useInTestConsole": false,
    "useInApiDocumentation": true,
    "description": "test server",
    "clientRegistrationEndpoint": "https://www.contoso.com/apps",
    "authorizationEndpoint": "https://www.contoso.com/oauth2/auth",
    "authorizationMethods": [
      "GET"
    ],
    "tokenEndpoint": "https://www.contoso.com/oauth2/token",
    "supportState": true,
    "defaultScope": "read write",
    "grantTypes": [
      "authorizationCode",
      "implicit"
    ],
    "bearerTokenSendingMethods": [
      "authorizationHeader"
    ],
    "clientId": "1",
    "resourceOwnerUsername": "un",
    "resourceOwnerPassword": "pwd"
  }
}

Определения

Имя Описание
AuthorizationMethod

HTTP-команды, поддерживаемые конечной точкой авторизации. GET должен всегда присутствовать. POST является необязательным.

AuthorizationServerContract

Параметры внешнего сервера авторизации OAuth.

BearerTokenSendingMethod

Указывает механизм, с помощью которого маркер доступа передается API.

ClientAuthenticationMethod

Метод проверки подлинности, поддерживаемый конечной точкой маркера этого сервера авторизации. Возможные значения: "Базовый" и (или) "Текст". При указании текста учетные данные клиента и другие параметры передаются в тексте запроса в формате application/x-www-form-urlencoded.

ErrorAdditionalInfo

Дополнительные сведения об ошибке управления ресурсами.

ErrorDetail

Сведения об ошибке.

ErrorResponse

Ответ на ошибку

GrantType

Форма предоставления авторизации, которую клиент использует для запроса маркера доступа.

TokenBodyParameterContract

Параметр текста запроса маркера OAuth (закодированный www-url-form-encoded).

AuthorizationMethod

HTTP-команды, поддерживаемые конечной точкой авторизации. GET должен всегда присутствовать. POST является необязательным.

Значение Описание
DELETE
GET
HEAD
OPTIONS
PATCH
POST
PUT
TRACE

AuthorizationServerContract

Параметры внешнего сервера авторизации OAuth.

Имя Тип Описание
id

string

Полный идентификатор ресурса для ресурса. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{resourceType}/{resourceName}

name

string

Имя ресурса

properties.authorizationEndpoint

string

Конечная точка авторизации OAuth. См. http://tools.ietf.org/html/rfc6749#section-3.2.

properties.authorizationMethods

AuthorizationMethod[]

HTTP-команды, поддерживаемые конечной точкой авторизации. GET должен всегда присутствовать. POST является необязательным.

properties.bearerTokenSendingMethods

BearerTokenSendingMethod[]

Указывает механизм, с помощью которого маркер доступа передается API.

properties.clientAuthenticationMethod

ClientAuthenticationMethod[]

Метод проверки подлинности, поддерживаемый конечной точкой маркера этого сервера авторизации. Возможные значения: "Базовый" и (или) "Текст". При указании текста учетные данные клиента и другие параметры передаются в тексте запроса в формате application/x-www-form-urlencoded.

properties.clientId

string

Идентификатор клиента или приложения, зарегистрированный на этом сервере авторизации.

properties.clientRegistrationEndpoint

string

Необязательная ссылка на страницу, на которой выполняется регистрация клиента или приложения для этого сервера авторизации. Содержит абсолютный URL-адрес для ссылки на сущность.

properties.clientSecret

string

Секрет клиента или приложения, зарегистрированный на этом сервере авторизации. Это свойство не будет заполнено в операциях GET! Используйте запрос POST "/listSecrets", чтобы получить это значение.

properties.defaultScope

string

Область маркера доступа, запрашиваемая по умолчанию. Можно переопределить на уровне API. Следует указать в виде строки, содержащей значения с разделителями пространства.

properties.description

string

Описание сервера авторизации. Может содержать теги форматирования HTML.

properties.displayName

string

minLength: 1
maxLength: 50

Понятное имя сервера авторизации.

properties.grantTypes

GrantType[]

Форма предоставления авторизации, которую клиент использует для запроса маркера доступа.

properties.resourceOwnerPassword

string

При необходимости можно указать, когда тип предоставления пароля владельца ресурса поддерживается этим сервером авторизации. Пароль владельца ресурса по умолчанию.

properties.resourceOwnerUsername

string

При необходимости можно указать, когда тип предоставления пароля владельца ресурса поддерживается этим сервером авторизации. Имя пользователя владельца ресурса по умолчанию.

properties.supportState

boolean

Если задано значение true, сервер авторизации будет включать параметр состояния из запроса авторизации в ответ. Клиент может использовать параметр состояния для повышения безопасности протокола.

properties.tokenBodyParameters

TokenBodyParameterContract[]

Дополнительные параметры, необходимые конечной точке маркера этого сервера авторизации, представленного в виде массива объектов JSON со свойствами строки имени и значения, т. е. {"name" : "name value", "value": "a value"}.

properties.tokenEndpoint

string

Конечная точка маркера OAuth. Содержит абсолютный универсальный код ресурса (URI) для объекта, на который ссылается ссылка.

properties.useInApiDocumentation

boolean

Если значение true, сервер авторизации будет использоваться в документации по API на портале разработчика. Значение false по умолчанию, если значение не указано.

properties.useInTestConsole

boolean

Если задано значение true, сервер авторизации может использоваться в тестовой консоли портала разработчика. Значение true по умолчанию, если значение не указано.

type

string

Тип ресурса. Например, "Microsoft.Compute/virtualMachines" или "Microsoft.Storage/storageAccounts"

BearerTokenSendingMethod

Указывает механизм, с помощью которого маркер доступа передается API.

Значение Описание
authorizationHeader
query

ClientAuthenticationMethod

Метод проверки подлинности, поддерживаемый конечной точкой маркера этого сервера авторизации. Возможные значения: "Базовый" и (или) "Текст". При указании текста учетные данные клиента и другие параметры передаются в тексте запроса в формате application/x-www-form-urlencoded.

Значение Описание
Basic

Базовый метод проверки подлинности клиента.

Body

Метод проверки подлинности на основе тела.

ErrorAdditionalInfo

Дополнительные сведения об ошибке управления ресурсами.

Имя Тип Описание
info

object

Дополнительные сведения.

type

string

Дополнительный тип сведений.

ErrorDetail

Сведения об ошибке.

Имя Тип Описание
additionalInfo

ErrorAdditionalInfo[]

Дополнительные сведения об ошибке.

code

string

Код ошибки.

details

ErrorDetail[]

Сведения об ошибке.

message

string

Сообщение об ошибке.

target

string

Целевой объект ошибки.

ErrorResponse

Ответ на ошибку

Имя Тип Описание
error

ErrorDetail

Объект ошибки.

GrantType

Форма предоставления авторизации, которую клиент использует для запроса маркера доступа.

Значение Описание
authorizationCode

Поток предоставления кода авторизации, как описано https://tools.ietf.org/html/rfc6749#section-4.1.

clientCredentials

Поток предоставления учетных данных клиента, как описано https://tools.ietf.org/html/rfc6749#section-4.4.

implicit

Поток неявного предоставления кода, как описано https://tools.ietf.org/html/rfc6749#section-4.2.

resourceOwnerPassword

Поток предоставления пароля владельца ресурса, как описано https://tools.ietf.org/html/rfc6749#section-4.3.

TokenBodyParameterContract

Параметр текста запроса маркера OAuth (закодированный www-url-form-encoded).

Имя Тип Описание
name

string

Имя параметра body.

value

string

Значение параметра body.