Loading
Identifizieren der Benutzer und Verwalten des Zugriffs
Inhalt
Filter auswählen

          Keine Ergebnisse
          Keine Ergebnisse
          Hier sind einige Suchtipps

          Überprüfen Sie die Schreibweise Ihrer Stichwörter.
          Verwenden Sie allgemeinere Suchbegriffe.
          Wählen Sie weniger Filter aus, um Ihre Suche auszuweiten.

          Gesamte Salesforce-Hilfe durchsuchen
          PKCE-Erweiterung (Proof Key for Code Exchange)

          PKCE-Erweiterung (Proof Key for Code Exchange)

          Verwenden Sie die Erweiterung "Proof Key for Code Exchange (PKCE)" von OAuth 2.0, um die Sicherheit Ihrer OAuth- und Authentifizierungsanbieterimplementierungen zu erhöhen. Sie können PKCE auf organisationsweiter Ebene erforderlich machen, es für eine bestimmte verbundene Anwendung erforderlich machen und es automatisch für unterstützte Authentifizierungsanbieter aktivieren.

          Erforderliche Editionen

          Verfügbarkeit: alle Editionen

          Während des OAuth-Autorisierungscode-Flows und seiner Ableitungen stellt die PKCE-Erweiterung sicher, dass der Client, der den Flow initiiert, derselben Client ist, der den Flow abschließt. Während dieser Flows fordert eine Anwendung einen Autorisierungscode von Salesforce an, der dann gegen ein Zugriffstoken ausgetauscht wird. In der Regel kann die Anwendung die Tokenanforderung durch Einbeziehung des Verbrauchergeheimnisses der verbundenen Anwendung schützen. Da es sich bei dem Verbrauchergeheimnis um Informationen handelt, die nur der Anwendung und Salesforce bekannt sind, fungiert es als Kennwort für den Zugriff auf den Salesforce-Token-Endpunkt. Selbst wenn ein Angreifer irgendwie Zugriff auf einen Autorisierungscode erhält, kann er ihn nicht zum Abrufen eines Zugriffstokens verwenden, sofern er nicht über das Verbrauchergeheimnis verfügt.

          Öffentliche Clients wie mobile Anwendungen und Einzelseitenanwendungen können das Verbrauchergeheimnis jedoch nicht vertraulich halten. Im Gegensatz zu privaten Client-Anwendungen mit einer traditionellen Client-Server-Architektur verfügen öffentliche Clients nicht über ein privates Backend, in dem sie das Verbrauchergeheimnis speichern können. Wenn ein öffentlicher Client das Verbrauchergeheimnis in der Tokenanforderung sendet, besteht das Risiko, dass es nach außen dringt. Daher wird empfohlen, das Verbrauchergeheimnis niemals in Tokenanforderungen für einen öffentlichen Client einzuschließen.

          Wenn kein Verbrauchergeheimnis vorliegt, ist die Anwendung anfällig, wenn ein Angreifer den Autorisierungscode abfängt und versucht, ihn gegen ein Zugriffstoken auszutauschen. PKCE hilft Ihnen dabei, die Lücken der Verbrauchergeheimnisse durch einen Satz mit gehashten Parametern zu füllen, die nur Ihre Anwendung und Salesforce nachvollziehen können. Während eines Flows, der PKCE implementiert, erstellt die Anwendung eine zufällige Zeichenfolge, die als Parameter code_verifier bezeichnet wird. Anschließend wird dieser Wert mit einem SHA-256-Algorithmus gehasht. Dieser Hashwert entspricht dem Parameter code_challenge. Ein wichtiges Konzept der SHA-256-Hashing-Funktion besteht darin, dass sie nur in eine Richtung funktioniert. Sie können den Parameter code_challenge über den Parameter code_verifier abrufen, indem Sie den SHA-256-Algorithmus ausführen. Sie können ihn jedoch nicht rückwärts ausführen, um den Parameter code_verifier aus dem Parameter code_challenge abzurufen.

          Das Konzept der unidirektionalen Funktion spielt eine wichtige Rolle bei der Funktionsweise von PKCE. Wenn die Anwendung ihre erste Anforderung für einen Autorisierungscode sendet, enthält sie den gehashten Parameter code_challenge. Wenn sie dann ein Zugriffstoken anfordert, wird der Parameter code_verifier eingeschlossen. Salesforce verfügt nun über beide Parameter und kann den SHA-256-Algorithmus für den Wert von code_verifier ausführen, um ihn mit code_challenge zu vergleichen. Wenn die Werte übereinstimmen, kann Salesforce überprüfen, ob von derselben Anwendung sowohl die Autorisierungsanforderung als auch die Tokenanforderung gesendet wurden. Selbst wenn ein Angreifer den Autorisierungscode hat, kann er ihn nicht gegen ein Zugriffstoken austauschen, da er nicht über die PKCE-Parameter verfügt, die nur Ihre Anwendung und Salesforce kennen.

          Sie sollten PKCE für öffentliche Clients immer implementieren. Für private Clients wird empfohlen, PKCE zu implementieren und das Verbrauchergeheimnis in Tokenanforderungen mit aufzunehmen.

          Sie können PKCE optional implementieren, indem Sie beim Erstellen von Varianten des Autorisierungscode-Flows mit Salesforce die Parameter code_challenge und code_verifier einschließen. PKCE wird von den folgenden Flows unterstützt.

          Damit PKCE erzwungen wird, sollten Sie die folgenden Sicherheitsmaßnahmen ergreifen.

          • Generieren der PKCE-Parameter
            Verwenden Sie den PKCE-Generator-Endpunkt, um schnell die Parameter code_challenge und code_verifier zu generieren, die Sie in Variationen des Autorisierungscode-Flows implementieren können.

          Generieren der PKCE-Parameter

          Verwenden Sie den PKCE-Generator-Endpunkt, um schnell die Parameter code_challenge und code_verifier zu generieren, die Sie in Variationen des Autorisierungscode-Flows implementieren können.

          1. Aktivieren Sie "Cross-Origin Resource Sharing (CORS)" für OAuth-Endpunkte, wodurch CORS automatisch für den Endpunkt /services/oauth2/pkce/generator aktiviert wird.
          2. Senden Sie zum Generieren der Parameter code_challenge und code_verifier eine HTTP-GET-Anforderung an den Endpunkt /services/oauth2/pkce/generator in Ihrem Anmelde-URL für "Meine Domäne" oder dem Experience Cloud-Site-URL. Schließen Sie in diese Anforderung keine Kopfzeilen oder Textparameter ein.
            Im Folgenden finden Sie eine Beispielanforderung, die einen Anmelde-URL für "Meine Domäne" verwendet.
            GET /services/oauth2/pkce/generator? HTTP 1.1
            Host: MyDomainName.my.site.salesforce.com
            Im Folgenden finden Sie eine Beispielanforderung, die einen Experience Cloud-Site-URL verwendet.
            GET /services/oauth2/pkce/generator? HTTP 1.1
            Host: MyDomainName.my.site.com
            Salesforce antwortet mit diesen PKCE-Parametern.
            ParameterBeschreibung
            code_challenge_method Die zum Berechnen des Parameters code_challenge aus dem Parameter code_verifier verwendete Methode. Salesforce verwendet die S256-Methode, die den Parameter code_challenge aus dem Parameter code_verifier mithilfe eines SHA256-Algorithmus berechnet. Weitere Informationen finden Sie in Abschnitt 4.2 in RFC 7636: Proof Key for Code Exchange by OAuth Public Clients.
            code_challenge

            Gibt den SHA256-Hash-Wert des code_verifier-Werts in der Token-Anforderung an. Der Wert ist Base-64 URL-codiert, wie in Abschnitt 5 von RFC 4648: The Base16, Base32, and Base64 Data Encodings definiert.

            Fügen Sie beim Konfigurieren Ihres Autorisierungs-Flows diesen Wert in die Autorisierungsanforderung ein.

            code_verifier

            Gibt 128 Bytes zufälliger Daten mit ausreichend Entropie an, sodass das Ableiten des Codewerts erschwert wird. Legen Sie diesen Parameter fest, um Lauschangriffe auf den Autorisierungscode zu verhindern. Der Wert ist Base-64 URL-codiert, wie in Abschnitt 5 von RFC 4648: The Base16, Base32, and Base64 Data Encodings definiert.

            Fügen Sie beim Konfigurieren Ihres Autorisierungs-Flows diesen Wert in die Token-Anforderung ein.

            Hier eine Beispielantwort.
            {
            “code_challenge_method”:“S256”
            “code_challenge”:“JB7nT*************”
            “code_verifier”:“GkLvw**************”
            }

          Wenn Sie den Webserver-Flow, den hybriden Webserver-Flow und Variationen des Flows für Autorisierungscode und Anmeldeinformationen konfigurieren, fügen Sie die Parameter code_challenge und code_verifier entsprechend den Anweisungen in Ihre Anforderungen ein.

           
          Laden
          Salesforce Help | Article