Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Várias autenticações (multi-auth) são um recurso que permite aos usuários criar conexões, dando a opção de escolher o método de autenticação que desejam usar para criar a conexão, em vez de estarem limitados a apenas um tipo de autenticação.
Para um conector, defina uma coleção de tipos de autenticação no arquivo connectionParameterSetsapiProperties.json.
Importante
O Assistente de Conector Personalizado ainda não dá suporte à habilitação de várias autenticações em um conector personalizado. Em vez disso, use CLI de Conectores do Microsoft Power Platform para criar um conector personalizado com múltiplas autenticações.
Como habilitar múltiplas autenticações
Adicione o connectionParameterSets no arquivo apiProperties.json e preencha a coleção connectionParameterSets.values com quantos connectionParameters necessários para o conector.
Saiba mais sobre parâmetros de conexão e tipos de autenticação em Parâmetros de Conexão.
Importante
- Se o conector usar o OAuth, monitore e renove regularmente a ID do cliente expirada e as credenciais de segredo do cliente para que os clientes possam continuar usando o conector.
- Ao atualizar o segredo do cliente, atualize a versão do swagger.
- Envie a atualização do conector um mês antes da ID do cliente e do segredo do cliente expirarem.
uiDefinition-constraints-required: true é um parâmetro obrigatório no ConnectionsParameterSets arquivo para cada tipo de autenticação em parâmetros.
A seção a seguir mostra a estrutura de connectionParameterSets.
"connectionParameterSets": {
// uiDefinition for the parameter sets.
"uiDefinition": {
"displayname": "Select the authorization type",
"description": "<<Enter here your description>>"
},
"values": [
// Connection parameter set
{
"name": "<parameter set name>",
// uiDefinition for this parameter set.
"uiDefinition": {
"displayname": "<display name>",
"description": "<description text>"
},
"parameters": {
// Schema matches existing "connectionParameters"
"<parameter name>": {
"type": "string | securestring | oauthsetting"
},
"<parameter name>:clientId": {
"type": "string",
"uiDefinition": {
"schema": {
// For string types, the description must be placed in
// uiDefinition.schema.description to be shown in the description box
"type": "string",
"description": "<description text>"
},
"displayName": "<display name>",
}
}
}
},
{
"name": "<parameter set name 2>"
// ...
}
]
}
Exemplos
Configuração com chave de API e autenticação básica
"connectionParameterSets": {
"uiDefinition": {
"displayName": "Authentication Type",
"description": "Type of authentication to be used."
},
"values": [
{
"name": "basic-auth",
"uiDefinition": {
"displayName": "Use your X credentials",
"description": "Log in using your username and password for X."
},
"parameters": {
"username": {
"type": "string",
"uiDefinition": {
"displayName": "X username",
"schema":{
"description": "The username for X",
"type": "string"
},
"tooltip": "Provide your X username",
"constraints": {
"required": "true"
}
}
},
"password": {
"type": "securestring",
"uiDefinition": {
"displayName": "X password",
"schema":{
"description": "The password for X",
"type": "securestring"
},
"tooltip": "Provide your X password",
"constraints": {
"required": "true"
}
}
}
}
},
{
"name": "api-auth",
"uiDefinition": {
"displayName": "Use X API Key",
"description": "Log in using X's API Key."
},
"parameters": {
"api_key": {
"type": "securestring",
"uiDefinition": {
"constraints": {
"clearText": false,
"required": "true",
"tabIndex": 3
},
"schema":{
"description": "Enter your API Key for X",
"type": "securestring"
},
"displayName": "API Key generated in X"
}
},
"environment": {
"type": "string",
"uiDefinition": {
"displayName": "Environment",
"schema":{
"description": "The API environment to use; either production or sandbox",
"type": "string"
},
"tooltip": "Select an API environment to use",
"constraints": {
"required": "true",
"allowedValues": [
{
"text": "Sandbox",
"value": "YOUR_SANDBOX_VALUE_HERE"
},
{
"text": "Production",
"value": "YOUR_PROD_VALUE_HERE"
}
]
}
}
}
}
}
]
}
Configuração com ID Entra e OAUTH 2.0
Você pode configurar dois parâmetros de conexão do mesmo tipo. Nesse caso, ambas as autorizações usam o oauthSetting tipo. Uma autorização permite que o usuário crie uma conexão usando a ID do Entra e a outra autorização vai para um ponto de extremidade personalizado.
"connectionParameterSets": {
"uiDefinition": {
"displayName": "Authentication Type",
"description": "Type of authentication to be used."
},
"values": [
{
"name": "aad-auth",
"uiDefinition": {
"displayName": "Use default shared application",
"description": "Log in using the standard X app."
},
"parameters": {
"token": {
"oAuthSettings": {
"clientId": "YOUR_AAD_APPLICATION_ID_HERE",
"customParameters": {
"loginUri": {
"value": "https://login.windows.net"
},
"resourceUri": {
"value": "https://graph.microsoft.com"
},
"tenantId": {
"value": "common"
}
},
"identityProvider": "aad",
"properties": {
"IsFirstParty": "False"
},
"redirectMode": "GlobalPerConnector",
"scopes": [
"Group.ReadWrite.All offline_access"
]
},
"type": "oauthSetting",
"uiDefinition": {
"displayName": "AAD based authentication",
"description": "Sign in using your AAD credentials",
"tooltip": "AAD based authentication",
"constraints": {
"required": "true"
}
}
}
}
},
{
"name": "custom-app-auth",
"uiDefinition": {
"displayName": "Use the X authentication app",
"description": "Log in using X app."
},
"parameters": {
"token": {
"type": "oauthSetting",
"oAuthSettings": {
"clientId": "YOUR_CLIENT_ID_HERE",
"identityProvider": "oauth2",
"redirectMode": "GlobalPerConnector",
"customParameters": {
"authorizationUrl": {
"value": "https://login.dummy.net/request"
},
"refreshUrl": {
"value": "https://login.dummy.net/token"
},
"tokenUrl": {
"value": "https://login.dummy.net/token"
}
}
},
"uiDefinition": {
"displayName": "Custom app based authentication",
"description": "Sign in using your custom app credentials",
"tooltip": "Custom app based authentication",
"constraints": {
"required": "true"
}
}
}
}
}
]
}
Você pode encontrar um exemplo de como implementar várias autenticações no conector do RescoCloud.