Authorization Server - Create Or Update

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

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

Параметры URI

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

string

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

Regex pattern: ^[^*#&+:<>?]+$

resourceGroupName
path True

string

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

serviceName
path True

string

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

Regex pattern: ^[a-zA-Z](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$

subscriptionId
path True

string

Идентификатор целевой подписки.

api-version
query True

string

Версия 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

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

properties.grantTypes True

GrantType[]

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

properties.authorizationMethods

AuthorizationMethod[]

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

properties.bearerTokenSendingMethods

BearerTokenSendingMethod[]

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

properties.clientAuthenticationMethod

ClientAuthenticationMethod[]

Метод аутентификации, поддерживаемой конечной точкой токена этого сервера авторизации. Возможные значения: Basic и(или) Body. Если указан текст, учетные данные клиента и другие параметры передаются в тексте запроса в формате 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

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

Headers

ETag: string

201 Created

AuthorizationServerContract

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

Headers

ETag: string

Other Status Codes

ErrorResponse

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

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

azure_auth

Поток OAuth2 в Azure Active Directory.

Type: oauth2
Flow: implicit
Authorization URL: https://login.microsoftonline.com/common/oauth2/authorize

Scopes

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

Примеры

ApiManagementCreateAuthorizationServer

Sample Request

PUT https://management.azure.com/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/authorizationServers/newauthServer?api-version=2022-08-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"
  }
}

Sample Response

{
  "id": "/subscriptions/subid/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/subid/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

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

ErrorFieldContract

Контракт поля ошибки.

ErrorResponse

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

GrantType

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

TokenBodyParameterContract

Параметр текста запроса на получение маркера OAuth (www-url-form-encoded).

AuthorizationMethod

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

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

string

GET

string

HEAD

string

OPTIONS

string

PATCH

string

POST

string

PUT

string

TRACE

string

AuthorizationServerContract

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

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

string

Полный идентификатор ресурса. Например: /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[]

Метод аутентификации, поддерживаемой конечной точкой токена этого сервера авторизации. Возможные значения: Basic и(или) Body. Если указан текст, учетные данные клиента и другие параметры передаются в тексте запроса в формате 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

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

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

string

query

string

ClientAuthenticationMethod

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

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

string

Метод обычной проверки подлинности клиента.

Body

string

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

ErrorFieldContract

Контракт поля ошибки.

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

string

Код ошибки уровня свойства.

message

string

Удобочитаемое представление ошибки на уровне свойств.

target

string

Имя свойства.

ErrorResponse

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

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

string

Код ошибки, определяемый службой. Это код служит в качестве подсостояния для кода ошибки HTTP, указанного в ответе.

error.details

ErrorFieldContract[]

Список недопустимых полей, отправляемых в запросе, в случае ошибки проверки.

error.message

string

Читаемое представление ошибки.

GrantType

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

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

string

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

clientCredentials

string

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

implicit

string

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

resourceOwnerPassword

string

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

TokenBodyParameterContract

Параметр текста запроса на получение маркера OAuth (www-url-form-encoded).

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

string

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

value

string

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