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: 1maxLength: 80 pattern: ^[^*#&+:<>?]+$ |
Идентификатор сервера авторизации. |
resource
|
path | True |
string minLength: 1maxLength: 90 |
Имя группы ресурсов. Имя не учитывает регистр. |
service
|
path | True |
string minLength: 1maxLength: 50 pattern: ^[a-zA-Z](?:[a-zA-Z0-9-]*[a-zA-Z0-9])?$ |
Имя службы управления API. |
subscription
|
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: 1maxLength: 50 |
Понятное имя сервера авторизации. |
properties.grantTypes | True |
Форма предоставления авторизации, которую клиент использует для запроса маркера доступа. |
|
properties.authorizationMethods |
HTTP-команды, поддерживаемые конечной точкой авторизации. GET должен всегда присутствовать. POST является необязательным. |
||
properties.bearerTokenSendingMethods |
Указывает механизм, с помощью которого маркер доступа передается API. |
||
properties.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 |
Дополнительные параметры, необходимые конечной точке маркера этого сервера авторизации, представленного в виде массива объектов 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 |
Сервер авторизации уже зарегистрирован. Заголовки ETag: string |
|
201 Created |
Сервер авторизации успешно зарегистрирован. Заголовки ETag: string |
|
Other Status Codes |
Ответ на ошибку, описывающий причину сбоя операции. |
Безопасность
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"
}
}
Определения
Имя | Описание |
---|---|
Authorization |
HTTP-команды, поддерживаемые конечной точкой авторизации. GET должен всегда присутствовать. POST является необязательным. |
Authorization |
Параметры внешнего сервера авторизации OAuth. |
Bearer |
Указывает механизм, с помощью которого маркер доступа передается API. |
Client |
Метод проверки подлинности, поддерживаемый конечной точкой маркера этого сервера авторизации. Возможные значения: "Базовый" и (или) "Текст". При указании текста учетные данные клиента и другие параметры передаются в тексте запроса в формате application/x-www-form-urlencoded. |
Error |
Дополнительные сведения об ошибке управления ресурсами. |
Error |
Сведения об ошибке. |
Error |
Ответ на ошибку |
Grant |
Форма предоставления авторизации, которую клиент использует для запроса маркера доступа. |
Token |
Параметр текста запроса маркера 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 |
HTTP-команды, поддерживаемые конечной точкой авторизации. GET должен всегда присутствовать. POST является необязательным. |
|
properties.bearerTokenSendingMethods |
Указывает механизм, с помощью которого маркер доступа передается API. |
|
properties.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: 1maxLength: 50 |
Понятное имя сервера авторизации. |
properties.grantTypes |
Форма предоставления авторизации, которую клиент использует для запроса маркера доступа. |
|
properties.resourceOwnerPassword |
string |
При необходимости можно указать, когда тип предоставления пароля владельца ресурса поддерживается этим сервером авторизации. Пароль владельца ресурса по умолчанию. |
properties.resourceOwnerUsername |
string |
При необходимости можно указать, когда тип предоставления пароля владельца ресурса поддерживается этим сервером авторизации. Имя пользователя владельца ресурса по умолчанию. |
properties.supportState |
boolean |
Если задано значение true, сервер авторизации будет включать параметр состояния из запроса авторизации в ответ. Клиент может использовать параметр состояния для повышения безопасности протокола. |
properties.tokenBodyParameters |
Дополнительные параметры, необходимые конечной точке маркера этого сервера авторизации, представленного в виде массива объектов 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 |
Дополнительные сведения об ошибке. |
|
code |
string |
Код ошибки. |
details |
Сведения об ошибке. |
|
message |
string |
Сообщение об ошибке. |
target |
string |
Целевой объект ошибки. |
ErrorResponse
Ответ на ошибку
Имя | Тип | Описание |
---|---|---|
error |
Объект ошибки. |
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. |