Loading
Identificeer uw gebruikers en beheer toegang
OAuth 2.0-stroom voor clientinloggegevens voor integratie tussen servers

OAuth 2.0-stroom voor clientinloggegevens voor integratie tussen servers

Soms wilt u informatie rechtstreeks delen tussen twee toepassingen zonder dat er een gebruiker aan te pas moet komen. Voor deze scenario's kunt u de OAuth 2.0-stroom voor clientinloggegevens gebruiken. Met deze stroom wisselt uw clienttoepassing de bijbehorende clientinloggegevens die zijn gedefinieerd in de verbonden app (bestaande uit de consumentensleutel en het consumentengeheim), uit voor een toegangstoken. Deze stroom elimineert de noodzaak voor expliciete gebruikersinteractie, maar u moet wel een integratiegebruiker opgeven om de integratie uit te voeren. U kunt deze stroom gebruiken als een veiliger alternatief voor de OAuth 2.0-stroom username-password.

Vereiste editions

Beschikbaar in: zowel Salesforce Classic als Lightning Experience
Beschikbaar in: Alle editions
Opmerking
Opmerking Het maken van verbonden apps is beperkt vanaf Spring '26. U kunt bestaande verbonden apps blijven gebruiken tijdens en na Spring '26. U wordt echter aangeraden om in plaats daarvan externe clientapps te gebruiken. Als u verbonden apps moet blijven maken, neemt u contact op met de ondersteuning van Salesforce.

Zie Nieuwe verbonden apps kunnen niet meer worden gemaakt in Spring '26 voor meer informatie.

Als u de stroom voor clientinloggegevens wilt gebruiken, moet u een verbonden app maken en de bijbehorende OAuth-instellingen en toegangsbeleidsvormen configureren.

U bouwt bijvoorbeeld een aangepaste app voor het uitvoeren van geautomatiseerde rapporten vanuit Salesforce. U wilt de app elke nacht rapporten laten uitvoeren. Om de aangepaste app te integreren met Salesforce, stelt u een verbonden app in. U kunt de verbonden app vervolgens configureren voor de stroom voor clientinloggegevens door de stroom in te schakelen en een integratiegebruiker toe te wijzen. Wanneer de service voor nachtelijke rapporten start, krijgt uw aangepaste app toegang tot Salesforce-gegevens met behulp van de onderstaande, kort beschreven stappen.

Opmerking
Opmerking Deze stroom ondersteunt geen vernieuwingstokens.
  1. De verbonden app stuurt de clientinloggegevens via een POST-verzoek naar het Salesforce token-eindpunt van OAuth.
  2. Salesforce valideert de clientinloggegevens en authenticeert de app.
  3. Salesforce retourneert een toegangstoken namens de integratiegebruiker die u hebt toegewezen.
  4. De verbonden app gebruikt het toegangstoken om een Salesforce-API aan te roepen, zoals de REST-API.
  5. De API antwoordt met de gevraagde gegevens voor het rapport.
Waarschuwing
Waarschuwing Het is belangrijk dat u de stroom voor clientinloggegevens pas instelt als u goed weet wat de beveiligingsrisico's ervan inhouden. Als deze stroom is ingeschakeld, kan elke persoon of app die toegang heeft tot de consumentensleutel en het consumentengeheim van uw verbonden app, een toegangstoken krijgen. Zorg dat de beveiliging in stand blijft door uw consumentengeheim regelmatig te wijzigen en dit onmiddellijk te doen als het geheim is gecompromitteerd. Zie De consumentensleutel en het consumentengeheim van een verbonden app roteren.

Toegangstoken aanvragen

Laten we het proces voor het ophalen van een toegangstoken met de stroom voor clientinloggegevens eens nader bekijken.

De verbonden app initieert de stroom door de clientinloggegevens via POST te versturen naar het token-eindpunt van Salesforce. U kunt de clientinloggegevens als parameters opnemen in de hoofdtekst van het verzoek. Als u extra beveiliging wilt toevoegen, neemt u de clientinloggegevens op in een header voor basisautorisatie.

Belangrijk
Belangrijk Geef bij het ontwikkelen van OAuth-integraties altijd gevoelige informatie door in de hoofdtekst van een POST-aanvraag of in een aanvraagheader. Gebruik geen GET-parameters in de URL-querytekenreeks om gevoelige informatie door te geven. Gevoelige informatie omvat, maar is niet beperkt tot, gebruikersnamen, wachtwoorden, OAuth-tokens, klantgeheimen en alle persoonlijk identificeerbare informatie. Zie Gevoelige gegevens opslaan in de Secure Coding Guide voor meer informatie over best practices voor beveiliging.

Dit is een voorbeeld van een POST-verzoek met de clientinloggegevens in de hoofdtekst van het verzoek.

POST /services/oauth2/token HTTP/1.1
Host: MyDomainName.my.salesforce.com
grant_type=client_credentials&
client_id=*******************&
client_secret=*******************
Opmerking
Opmerking Geef vanuit Set-up Mijn domein op in het vak Snel zoeken en selecteer vervolgens Mijn domein om de URL van uw Mijn domein te vinden.

Deze parameters moeten zijn opgenomen het verzoek.

Parameter Beschrijving
client_id De consumentensleutel van de verbonden app. Als u toegang wilt tot de consumentensleutel, zoekt u in Appbeheer de verbonden app en selecteert u Weergeven in de vervolgkeuzelijst. Klik vervolgens op Consumentengegevens beheren. Soms wordt u gevraagd uw identiteit te verifiëren voordat u de consumentensleutel kunt weergeven.
client_secret Het consumentengeheim van de verbonden app. Als u toegang wilt tot het consumentengeheim, zoekt u in Appbeheer de verbonden app en selecteert u Weergeven in de vervolgkeuzelijst. Klik vervolgens op Consumentengegevens beheren. Soms wordt u gevraagd uw identiteit te verifiëren voordat u het consumentengeheim kunt weergeven.
grant_type

Het OAuth 2.0-toekenningstype dat de verbonden app aanvraagt. Voor de stroom voor clientinloggegevens moet deze waarde zijn ingesteld op client_credentials.

Zie 4.4 Client Credentials Grant (4.4 clientinloggegevens toekennen) in The OAuth 2.0 Authorization Framework van de Internet Engineering Task Force voor een gedetailleerde uitleg van het toekenningstype voor clientinloggegevens.

Dit is een voorbeeld met de clientinloggegevens in een header voor basisautorisatie. Met deze notatie wordt de client_id toegevoegd aan de client_secret in de notatie client_id:client_secret en is de resulterende waarde Base64-gecodeerd.

POST /services/oauth2/token HTTP/1.1
Host: MyDomainName.my.salesforce.com
Header: Authorization: Basic 
TXlDbGllbnRJRDpNeUNsaWVudFNlY3JldA==
grant_type=client_credentials

Als u deze notatie gebruikt, is de grant_type de enige verplichte parameter in de hoofdtekst van het verzoek. De grant_type moet zijn ingesteld op client_credentials.

Opmerking
Opmerking Omdat Salesforce geen bereiken voor het token-eindpunt ondersteunt, kunt u geen bereiken opnemen in het verzoek. Wijs in plaats daarvan bereiken toe aan uw verbonden app.

Salesforce verleent een toegangstoken

Na validatie van de clientinloggegevens retourneert Salesforce een respons met daarin een toegangstoken en aangevraagde bereiken. De app kan het toegangstoken gebruiken om toegang te krijgen tot beschermde gegevens in Salesforce.

Dit is een voorbeeld van een respons met een toegangstoken in de JSON-indeling.

{
    "access_token": "*******************",
    "instance_url": "https://yourInstance.salesforce.com",
    "id": "https://login.salesforce.com/id/XXXXXXXXXXXXXXXXXX/XXXXXXXXXXXXXXXXXX",
    "token_type": "Bearer",
    "scope": "id api",
    "issued_at": "1657741493799",
    "signature": "c2lnbmF0dXJl"
}

Deze parameters zijn opgenomen in de respons.

Parameter Beschrijving
access_token Een OAuth-token dat een verbonden app gebruikt om toegang tot een beschermde resource aan te vragen namens de clienttoepassing. Het toegangstoken kan vergezeld gaan van aanvullende machtigingen in de vorm van bereiken.
instance_url Een URL die het exemplaar van de organisatie van de gebruiker aangeeft. Bijvoorbeeld: https://yourInstance.salesforce.com/.
id Een identiteits-URL die kan worden gebruikt om de organisatie en de integratiegebruiker te identificeren. De indeling van de URL is https://login.salesforce.com/id/orgID/userID.
token_type Een Bearer, dat wordt gebruikt voor alle responsen die een toegangstoken bevatten.
scope

De bereiken die zijn gekoppeld aan het toegangstoken.

Bereiken definiëren meer gedetailleerd het type beschermde resources waartoe de client toegang kan krijgen. U wijst bereiken toe aan een verbonden app wanneer u deze samenstelt; tevens worden deze opgenomen bij de OAuth-tokens tijdens de autorisatiestroom.

Omdat de stroom voor clientinloggegevens geen ondersteuning biedt voor UI-sessies en geen vernieuwingstoken uitgeeft, filtert Salesforce deze bereiken automatisch uit.

  • Volledige toegang (full)
  • Gebruikersgegevens beheren via webbrowsers (web)
  • Verzoeken op elk gewenst moment uitvoeren (refresh_token, offline_access)
issued_at Het tijdstempel voor wanneer de handtekening is gemaakt, in milliseconden.
signature Base64-gecodeerde HMAC-SHA256-handtekening ondertekend met de client_secret. De handtekening kan de aaneengeschakelde ID en issued_at bevatten, die u kunt gebruiken om te controleren of de identiteits-URL niet is gewijzigd sinds de server deze heeft verzonden.
 
Wordt geladen
Salesforce Help | Article