Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Rileva le autorizzazioni minime necessarie per eseguire le operazioni API specificate. Usa le informazioni sull'API dalla cartella locale specificata.
Definizione dell'istanza del plug-in
{
"name": "MinimalPermissionsPlugin",
"enabled": true,
"pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll",
"configSection": "minimalPermissionsPlugin"
}
Esempio di configurazione
{
"minimalPermissionsPlugin": {
"$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v1.0.0/minimalpermissionsplugin.schema.json",
"apiSpecsFolderPath": "./api-specs"
}
}
Proprietà di configurazione
| Proprietà | Descrizione | Predefinito |
|---|---|---|
apiSpecsFolderPath |
Percorso relativo o assoluto della cartella con specifiche API | Nessuno |
schemeName |
Nome della definizione dello schema di sicurezza utilizzata per determinare le autorizzazioni minime. Se non specificato, il plug-in legge le informazioni dal primo schema oauth2 nella specifica | Nessuno |
Opzioni della riga di comando
Nessuno
Osservazioni:
Il MinimalPermissionsPlugin plug-in controlla se l'app usa autorizzazioni minime per chiamare le API. Per controllare le autorizzazioni, il plug-in usa informazioni sulle API che si trovano nella cartella locale specificata.
Definire le autorizzazioni API
Il MinimalPermissionsPlugin plug-in supporta il controllo delle autorizzazioni OAuth per le API protette con OAuth. Il plug-in calcola le autorizzazioni minime necessarie per chiamare le API usate nell'app usando le informazioni delle specifiche API fornite.
Per definire le autorizzazioni per le API, includerle nella definizione OpenAPI dell'API. L'esempio seguente illustra come definire le autorizzazioni per un'API in una definizione OpenAPI:
{
"openapi": "3.0.1",
"info": {
"title": "Northwind API",
"description": "Northwind API",
"version": "v1.0"
},
"servers": [
{
"url": "https://api.northwind.com"
}
],
"components": {
"securitySchemes": {
"OAuth2": {
"type": "oauth2",
"flows": {
"authorizationCode": {
"authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
"tokenUrl": "https://login.microsoftonline.com/common/oauth2/token",
"scopes": {
"customer.read": "Grants access to ready customer info",
"customer.readwrite": "Grants access to read and write customer info"
}
}
}
}
},
"schemas": {
"Customer": {
"type": "object",
// [...] trimmed for brevity
}
}
},
"paths": {
"/customers/{customers-id}": {
"description": "Provides operations to manage a customer",
"get": {
"summary": "Get customer by ID",
"operationId": "getCustomerById",
"security": [
{
"OAuth2": [
"customer.read"
]
},
{
"OAuth2": [
"customer.readwrite"
]
}
],
"responses": {
"200": {
"description": "OK",
"content": {
"application/json; charset=utf-8": {
"schema": {
"$ref": "#/components/schemas/Customer"
}
}
}
}
}
},
"patch": {
"summary": "Update customer by ID",
"operationId": "updateCustomerById",
"security": [
{
"OAuth2": [
"customer.readwrite"
]
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Customer"
}
}
}
},
"responses": {
"204": {
"description": "No Content"
}
}
},
"parameters": [
{
"name": "customers-id",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
]
}
},
"x-ms-generated-by": {
"toolName": "Dev Proxy",
"toolVersion": "0.22.0"
}
}
La parte pertinente è la securitySchemes sezione in cui si definiscono gli ambiti OAuth usati dall'API. Quindi, per ogni operazione, includere gli ambiti necessari nella security sezione .
Sostituire le variabili nelle specifiche DELL'API
Alcune specifiche api potrebbero contenere variabili negli URL del server. L'uso delle variabili è una pratica comune per gestire ambienti diversi (ad esempio, sviluppo, gestione temporanea, produzione), versioni api o tenant. Un URL con una variabile è simile al seguente:
openapi: 3.0.4
info:
title: SharePoint REST API
description: SharePoint REST API
version: v1.0
servers:
- url: https://{tenant}.sharepoint.com
variables:
tenant:
default: contoso
Il plug-in MinimalPermissionsPlugin supporta la sostituzione delle variabili nel contenuto delle specifiche API. Per sostituire una variabile, avviare Dev Proxy con l'opzione --env e specificare il nome e il valore della variabile. Ad esempio, per sostituire la tenant variabile con contoso, usare il comando seguente:
devproxy --env tenant=northwind
Questo comando sostituisce la tenant variabile nelle specifiche API con il valore northwind. Il plug-in usa l'URL sostituito per verificare se l'app usa autorizzazioni minime per chiamare le API.