Freigeben über


AuthPlugin (Englisch)

Simuliert die Authentifizierung und Autorisierung mithilfe von API-Schlüsseln oder OAuth2.

Screenshot einer Eingabeaufforderung mit Dev Proxy, die die Authentifizierung mithilfe des API-Schlüssels in einer lokal ausgeführten Azure-Funktion simuliert.

Definition der Plug-In-Instanz

{
  "name": "AuthPlugin",
  "enabled": true,
  "pluginPath": "~appFolder/plugins/DevProxy.Plugins.dll",
  "configSection": "auth"
}

Konfigurationsbeispiel: API-Schlüssel

{
  "auth": {
    "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v0.29.2/authplugin.schema.json",
    "type": "apiKey",
    "apiKey": {
      "parameters": [
        {
          "in": "header",
          "name": "x-api-key"
        },
        {
          "in": "query",
          "name": "code"
        }
      ],
      "allowedKeys": [
        "1234"
      ]
    }
  }
}

Konfigurationsbeispiel: OAuth2

{
  "auth": {
    "$schema": "https://raw.githubusercontent.com/dotnet/dev-proxy/main/schemas/v0.29.2/authplugin.schema.json",
    "type": "oauth2",
    "oauth2": {
      "metadataUrl": "https://login.microsoftonline.com/organizations/v2.0/.well-known/openid-configuration",
      "allowedApplications": [
        "00000000-0000-0000-0000-000000000000"
      ],
      "allowedAudiences": [
        "00000000-0000-0000-0000-000000000000"
      ],
      "allowedPrincipals": [
        "00000000-0000-0000-0000-000000000000"
      ],
      "allowedTenants":[
        "00000000-0000-0000-0000-000000000000"
      ],
      "issuer": "https://login.microsoftonline.com/ffffffff-eeee-dddd-cccc-bbbbbbbbbbb0/v2.0",
      "scopes": [
        "Posts.Read"
      ],
      "validateLifetime": true,
      "validateSigningKey": true
    }
  }
}

Konfigurationseigenschaften

Eigenschaft Beschreibung Erforderlich
type Typ der Authentifizierung und Autorisierung, die von Dev Proxy verwendet werden soll. Zulässige Werte: apiKey, oauth2. Ja
apiKey Konfiguration für API-Schlüsselauthentifizierung und Autorisierung. Ja, wann type ist apiKey
oauth2 Konfiguration für OAuth2-Authentifizierung und -Autorisierung. Ja, wann type ist oauth2

API-Schlüsselkonfigurationseigenschaften

Eigenschaft Beschreibung Erforderlich
allowedKeys Liste der zulässigen API-Schlüssel. Ja
parameters Liste der Parameter, die den API-Schlüssel enthalten. Ja

Parameterkonfigurationseigenschaften

Eigenschaft Beschreibung Erforderlich
in Wo der Parameter gefunden werden soll. Zulässige Werte: header, query, cookie Ja
name Der Name des Parameters. Ja

OAuth2-Konfigurationseigenschaften

Eigenschaft Beschreibung Erforderlich
metadataUrl URL zum OpenID Connect-Metadatendokument. Ja
allowedApplications Liste der zulässigen Anwendungs-IDs. Lassen Sie leer, um die Anwendung (appid oder azp den Anspruch) nicht zu überprüfen, für die das Token ausgegeben wird. Nein
allowedAudiences Liste der zulässigen Benutzergruppen. Lassen Sie leer, um die Zielgruppe (aud Anspruch) nicht zu überprüfen, für die das Token ausgegeben wird. Nein
allowedPrincipals Liste der zulässigen Prinzipale. Lassen Sie leer, um den Prinzipal (oid Anspruch) nicht zu überprüfen, für den das Token ausgegeben wird. Nein
allowedTenants Liste der zulässigen Mandanten. Lassen Sie leer, um den Mandanten (tid Anspruch) nicht zu überprüfen, für den das Token ausgestellt wird. Nein
issuer Zulässiger Tokenherausgeber. Lassen Sie leer, um den Tokenherausgeber nicht zu überprüfen. Nein
roles Liste der zulässigen Rollen. Lassen Sie leer, um die Rollen (roles Anspruch) für das Token nicht zu überprüfen. Nein
scopes Liste der zulässigen Bereiche. Lassen Sie leer, um die Bereiche (scp Anspruch) für das Token nicht zu überprüfen. Nein
validateLifetime Legen Sie diesen Wert fest, false um die Überprüfung der Tokenlebensdauer zu deaktivieren. Standardwert: true. Nein
validateSigningKey Legen Sie fest, false dass die Überprüfung der Tokensignatur deaktiviert wird. Standard-true Nein

Befehlszeilenoptionen

Keine