MinimalPermissionsPlugin
Überprüft, ob die App minimale Berechtigungen zum Aufrufen von APIs verwendet. Verwendet API-Informationen aus dem angegebenen lokalen Ordner.
Definition der Plug-In-Instanz
{
"name": "MinimalPermissionsPlugin",
"enabled": true,
"pluginPath": "~appFolder/plugins/dev-proxy-plugins.dll",
"configSection": "minimalPermissionsPlugin"
}
Konfigurationsbeispiel
{
"minimalPermissionsPlugin": {
"apiSpecsFolderPath": "./api-specs"
}
}
Konfigurationseigenschaften
Eigenschaft | BESCHREIBUNG | Standard |
---|---|---|
apiSpecsFolderPath |
Relativer oder absoluter Pfad zum Ordner mit API-Spezifikationen | Keine |
Befehlszeilenoptionen
Keine
Hinweise
Das MinimalPermissionsPlugin
Plug-In überprüft, ob die App minimale Berechtigungen zum Aufrufen von APIs verwendet. Um Berechtigungen zu überprüfen, verwendet das Plug-In Informationen zu APIs, die sich im angegebenen lokalen Ordner befinden.
Definieren von API-Berechtigungen
Das MinimalPermissionsPlugin
Plug-In unterstützt die Überprüfung von OAuth-Berechtigungen für APIs, die mit OAuth gesichert sind. Das Plug-In berechnet die minimalen Berechtigungen, die zum Aufrufen der in der App verwendeten APIs mit den Informationen aus den bereitgestellten API-Spezifikationen erforderlich sind. Anschließend vergleicht das Plug-In die Berechtigungen, die im JSON-Webtoken (JWT) verwendet werden, mit den minimal erforderlichen Bereichen, die für die Anforderungen erforderlich sind, die von Dev Proxy aufgezeichnet wurden.
Um Berechtigungen für Ihre APIs zu definieren, fügen Sie sie in die OpenAPI-Definition Ihrer API ein. Das folgende Beispiel zeigt, wie Berechtigungen für eine API in einer OpenAPI-Definition definiert werden:
{
"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"
}
}
Der relevante Teil ist der securitySchemes
Abschnitt, in dem Sie die von der API verwendeten OAuth-Bereiche definieren. Anschließend fügen Sie für jeden Vorgang die erforderlichen Bereiche in den security
Abschnitt ein.