SAML-definitiestroom voor toegang tot de API
De SAML-definitiestroom is een alternatief voor organisaties die SAML gebruiken om toegang te krijgen tot Salesforce en op dezelfde manier toegang willen krijgen tot de API. Clients kunnen een SAML-definitie gebruiken voor bundeling met de API, op dezelfde manier als waarop ze bundelen met Salesforce voor Single Sign-On via het internet. U kunt deze definitiestroom gebruiken zonder een verbonden app.
Vereiste editions
| Beschikbaar in: zowel Salesforce Classic als Lightning Experience |
| Beschikbaar in: Alle editions |
Bekijk deze beperkingen:
- U kunt deze stroom niet met meer dan één organisatie gebruiken.
- Bij authenticatie via deze stroom worden geen inlogstromen aangeroepen. U kunt inlogstromen niet toepassen op API-inlogpogingen of op scenario's waarin sessies de UI via frontdoor.jsp doorlopen vanuit een niet-UI-inlogproces.
- Experience Cloud-sites bieden geen ondersteuning voor deze stroom.
Als u de SAML-definitiestroom wilt gebruiken, volgt u deze stappen.
- SAML-versie 2.0 configureren voor uw organisatie.
- Een SAML-definitie inwisselen voor een toegangstoken.
- Nadat de definitie is geverifieerd, verleent Salesforce een toegangstoken.
- Gebruik een JSON-parser om de respons te verwerken en het toegangstoken te extraheren.
Opmerking Er wordt nooit eenrefresh_tokenuitgegeven in deze stroom.
SAML 2.0 configureren
Zie SSO configureren met Salesforce als een SAML-serviceprovider als u uw organisatie wilt configureren voor het gebruik van SAML. U kunt dezelfde configuratie gebruiken voor het web en voor API-bundeling.
Nadat u SAML hebt geconfigureerd, genereert Salesforce deze URL's.
- Salesforce.com-inlog-URL: gebruik deze URL bij Web SSO.
- OAuth 2.0-tokeneindpunt: gebruik deze URL bij het inwisselen van een SAML-definitie voor een toegangstoken om toegang te krijgen tot de API.
Wanneer SAML-definities worden gegenereerd voor gebruik met het Salesforce-tokeneindpunt, kan de URL voor de ontvanger in de definitie de waarde van het OAuth 2.0-tokeneindpunt of van de Salesforce.com-inlog-URL zijn.
Een SAML-definitie inwisselen voor een toegangstoken
Voor het inwisselen van een SAML-definitie voor een toegangstoken verkrijgt of genereert uw client een geldige SAML-respons om deze vervolgens te posten naar het Salesforce-tokeneindpunt. De client bepaalt de methode voor het verkrijgen van deze respons.
Dit is een voorbeeld van de POST buiten de bandbreedte die wordt gedaan naar het Salesforce-tokeneindpunt.
grant_type=assertion&
assertion_type=urn:oasis:names:tc:SAML:2.0:profiles:SSO:browser&
assertion=PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHNhbW. . .Wanneer de client een geldige respons ontvangt, verzendt deze de volgende parameters.
| Parameter | Beschrijving |
|---|---|
grant_type
|
Het OAuth 2.0-toekenningstype dat de verbonden app aanvraagt. De waarde moet de assertion van deze stroom zijn. |
assertion
|
Een Base-64-gecodeerde en vervolgens URL-gecodeerde SAML-respons die normaal gesproken wordt gebruikt voor Web SSO. |
assertion_type
|
De waarde moet urn:oasis:names:tc:SAML:2.0:profiles:SSO:browser zijn, URL-gecodeerd. |
format
|
Als de verwachte retournotatie niet is opgenomen in de header van het verzoek, kunt u deze opgeven. De parameter
|
Salesforce verleent een toegangstoken
Nadat de SAML-respons is geverifieerd, verzendt Salesforce een respons naar de client die het toegangstoken bevat.
Dit is een voorbeeldreactie vanuit Salesforce.
{"id":"https://login.salesforce.com/id/00Dx0000000BV7z/005x00000012Q9P",
"instance_url":"https://yourInstance.salesforce.com",
"access_token":"00Dx0000000BV7z!AR8AQNhMmQeDIKR0.hZagSTaEPCkmoXeYnkaxQnqWlG6Sk9U3i3IFjEHIzDlsYdU0qoVCXNJtPOwdb7u5rKfq9NldfAKoQjd",
"token_type":"Bearer"} | Parameter | Beschrijving |
|---|---|
id
|
Een identiteits-URL die kan worden gebruikt voor het identificeren van de gebruiker en voor het uitvoeren van een query voor meer informatie over de gebruiker. Zie Identiteits-URL's. |
instance_url
|
Een URL die het exemplaar van de organisatie van de gebruiker aangeeft. Bijvoorbeeld: https://yourInstance.salesforce.com/. |
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. |
token_type
|
Een Bearer, dat wordt gebruikt voor alle responsen die een toegangstoken bevatten. |
