Loading
Identifisere brukerne og administrere tilgang
Innhold
Velg filtre

          Ingen resultater
          Ingen resultater
          Her er noen søketips

          Kontroller stavemåten i søkeordene.
          Bruk mer generelle søkebegreper.
          Velg færre filtre for å utvide søket.

          Søk i all Salesforce Hjelp
          API-er for headless-identitet: Headless-gjesteflyt for private kunder

          API-er for headless-identitet: Headless-gjesteflyt for private kunder

          For brukere som samhandler med appen din utenfor plattformen, men ikke nødvendigvis er logget på, kan du bruke gjesteflyten uten hode til å identifisere brukere med en unik besøks-ID (UVID). Når brukeren logger seg på eller registrerer seg, kan du føre UVIDen fremover og vedlikeholde eventuell kontekstinformasjon som er knyttet til den, som en brukers preferanser. Denne flyten er en variasjon av godkjenningskode- og legitimasjonsflyten.

          Nødvendige utgaver

          Tilgjengelig i både Salesforce Classic (ikke tilgjengelig i alle organisasjoner) og Lightning Experience
          Tilgjengelig i Enterprise, Unlimited og Developer Edition

          Utfør disse trinnene før du konfigurerer denne flyten.

          Du er for eksempel vert for en e-handelsapp utenfor Salesforce-plattformen. Du vil at brukere skal kunne lagre elementer i en handlevogn uten å logge seg på. Du kan bruke gjestebrukerflyten til å generere en UVID for brukeren, og du kan lagre brukerens handlevogninformasjon og knytte den til UVID-en. Når brukeren til slutt logger seg på eller registrerer seg, overfører du UVID-en til en påloggings- eller registreringsflyt uten hode. Fordi du har handlevognkonteksten fra UVID-en, kan du lagre brukerens elementer og gi dem en bedre opplevelse.

          Eksempelet i handlevognen er bare en av mange muligheter når det gjelder UVID- og gjesteflyten. Andre muligheter inkluderer å forstå hva som gjør at brukerne ønsker å registrere seg for appen og huske preferansene deres.

          Gjesteflyten og UVID støttes bare for JSON Web Token-baserte tilgangstokener (JWT). For å koble UVID til en navngitt bruker må du konfigurere den navngitte brukerflyten til også å utstede JWT-baserte tilgangstokener.

          Disse instruksjonene forteller deg hvordan du implementerer flyten for en privat klient med sin egen serverdel. Private klienter har et sikkert sted å lagre appens forbrukerhemmelighet, som fungerer som et passord for kodeutvekslingen, så vi anbefaler å sende forbrukerhemmeligheten når du ber om et tilgangstoken.

          Vi anbefaler også at du beskytter flyten ytterligere ved å implementere utvidelsen OAuth 2.0 Proof Key for Code Exchange (PKCE). PKCE bidrar til å sikre at klienten som starter flyten, er den samme klienten som fullfører den. Hvis du vil vite mer om hvordan PKCE fungerer og hvordan du kan håndheve det, kan du se Bygge PKCE-utvidelsen i implementeringer.

          Her er en oversikt over gjesteflyten. Disse trinnene dekker flyten inntil gjestebrukeren er identifisert, men ikke logget på.

          Sekvensdiagram som viser den headless-gjestebrukerflyten for private klienter
          • Den ukjente besøkende ankommer appen eller utfører en handling som å klikke på en knapp (1).
          • Appen ser etter en UVID. Hvis den ikke finner en, ber den om en UVID fra klientens serverdel (2).
          • Hvis du blir bedt om det, genererer klientens serverdel en UVID og sender den til appen (3).
          • Appen mottar UVID (4a).
          • Hvis du bruker PKCE, genererer appen PKCE-parametere (4b).
          • For å få en godkjenningskode sender appen UVID-koden i en headless GET- eller POST-forespørsel til godkjenningssluttpunktet (services/oauth2/authorize) (5).
          • Salesforce validerer UVID og returnerer en 302-omdirigering til en forhåndskonfigurert URL-adresse som inneholder godkjenningskoden (6).
          • Appens klientdash-enhet trekker ut koden og andre parametere fra 302-omdirigeringen og utveksler koden for et tilgangstoken med en forespørsel til Salesforce-tokenendepunktet (services/oauth2/token) (7).
          • Salesforce returnerer et gjeste-JWT-basert tilgangstoken med UVID i emnekravet (8).
          • Appens serverdel behandler det gjeste-JWT-baserte tilgangstokenet og lagrer UVID-verdien, som den kan holde privat. Den returnerer en gjesteøkt og eventuelt gjestetokenet (9).
          • Appen mottar tokensvaret og oppretter gjesteøkten (10).
          • Den tidligere ukjente besøkende har nå en gjesteøkt knyttet til UVID-verdien i tilgangstokenet (11).

          Som nevnt i trinn 7 for en privat klient bygger du en tilbakekallbehandler på serversiden som kan trekke ut 302-omdirigeringen og returnere en godkjenningskode til appen. Hvis du vil se hvordan du kan bygge denne behandleren, kan du se Godkjenningskode og legitimasjonsflyt for private klienter, som inkluderer et eksempel på en Apex-behandler som vises som en REST-ressurs.

          Ukjent sluttbruker ankommer appen

          Flyten starter når en sluttbruker besøker appen. Du kan også konfigurere den til å starte når brukeren utfører en handling, som å lagre et element i en handlevogn.

          App ber om en UVID hvis det er nødvendig

          Appen prøver å finne en UVID fra tidligere besøk i appen. Den bestemmer for eksempel om den kan trekke ut UVID-en fra en informasjonskapsel eller fra lokal lagring i nettleseren. Hvis appen ikke finner en UVID, ber den om en fra serverdelen for klienten.

          Client Backend genererer en UVID

          Hvis du blir bedt om det, genererer klientens serverdel en UVID-verdi. Salesforce er ikke involvert i generering, lagring eller vedlikehold av UVID. Det er helt opp til appen din. Det eneste kravet er at UVID-koden må være en universelt unik identifikator i versjon 4 (v4 UUID).

          App mottar UVID

          Appen din mottar UVID-koden fra klientens serverdel.

          App genererer PKCE-parametere

          Hvis du bruker PKCE, genererer appen code_verifier- og code_challenge-parametere.

          PKCE-spesifikasjonen definert i RFC 7636 inkluderer også en valgfri code_challenge_method-parameter som du kan sende i godkjenningsforespørselen. Salesforce ignorerer alle verdier som du sender i denne parameteren, og bruker som standard SHA256.

          App utveksler UVID for en godkjenningskode

          Appen sender en GET- eller POST-forespørsel direkte til Salesforce-godkjenningssluttpunktet på Experience Cloud-nettstedet. Forespørselen inneholder UVID og andre parametere for å identifisere appen og angi typen forespørsel.

          Du har to alternativer for hvordan du sender UVID-en i denne forespørselen. Du kan sende en ren UVID-verdi, eller du kan sende et JWT-basert tilgangstoken med UVID-knappen i det. Hvis du for eksempel har et JWT-basert tilgangstoken fra en tidligere økt, er det enkelt å sende tokenet til godkjenningssluttpunktet for å gjenbruke det uten å spesifikt analysere det for UVID-en.

          Inkluder disse topptekstene i forespørselen.

          Godkjenningsforespørsel: Hoder
          Hode Obligatorisk? Beskrivelse
          Uvid-Hint Kreves hvis du ikke sender UVID-koden i forespørselsteksten. Du må alltid inkludere en UVID – enten den sendes i toppteksten eller i forespørselsteksten.

          Inneholder enten UVID-koden som en ren verdi eller et JWT-basert tilgangstoken med et UVID-kode tilpasset den.

          Hvis du sender UVID som en ren verdi, inkluderer du et UVID-prefiks foran verdien slik at forespørselen blir formatert som Uvid-Hint: UVID <UVID value>.

          Hvis du sender et JWT-basert tilgangstoken med en UVID, inkluderer du et JWT-prefiks før verdien, for eksempel Uvid-Hint: JWT <access token containing UVID>.

          Auth-Request-Type Ja. Angir typen forespørsel du vil sende til Salesforce. For headless-pålogging uten passord må denne verdien settes til guest.

          Inkluder disse parameterne i forespørselsteksten.

          Godkjenningsforespørsel: Body-parametere
          Parameter Obligatorisk? Beskrivelse
          uvid_hint Kreves hvis du ikke inkluderer UVID i toppteksten.

          Inneholder enten UVID-koden som en ren verdi eller et JWT-basert tilgangstoken med et UVID-kode tilpasset den.

          Hvis du sender UVID som en ren verdi, inkluderer du et UVID-prefiks foran verdien slik at forespørselen blir formatert som uvid_hint=UVID <UVID value>.

          Hvis du sender et JWT-basert tilgangstoken med en UVID, inkluderer du et JWT-prefiks før verdien, for eksempel uvid_hint=JWT <access token containing UVID>.

          client_id Ja. Forbrukernøkkelen til den eksterne klientappen eller den tilkoblede appen.
          response_type Ja. OAuth 2.0-utstedelsestypen som appen ber om. Fordi denne flyten er en variasjon av godkjenningskoden og legitimasjonsflyten, må denne verdien være code_credentials.
          redirect_uri Ja.

          URL-adressen som brukere omdirigeres til etter vellykket godkjenning. redirect_uri må samsvare med en av verdiene i feltet URL-adresse for tilbakekall i den eksterne klientappen eller den tilkoblede appen. Hvis ikke, mislykkes godkjenningen. Denne verdien må være URL-kodet.

          For private klienter bruker du et redirect_uri som peker til tilbakekallbehandleren på serversiden.

          code_challenge Bare hvis du bruker PKCE, som vi alltid anbefaler, spesielt for en felles klient.

          Angir SHA256-hash-verdien for code_verifier-verdien i tokenforespørselen. Angi denne parameteren for å hindre oppfangingsangrep på godkjenningskoden. Verdien må være Base-64-URL-kodet som definert i https://tools.ietf.org/html/rfc4648#section-5

          Hvis det oppgis en code_challenge i godkjenningsforespørselen og det oppgis en code_verifier i tokenforespørselen, sammenligner Salesforce de to verdiene. Hvis code_challenge er ugyldig eller ikke samsvarer, mislykkes påloggingen med invalid_request-feilkoden.

          Hvis code_challenge oppgis i godkjenningsforespørselen, men det ikke er noen code_verifier i tokenforespørselen, mislykkes påloggingen med invalid_grant-feilkoden.

          scope Ja.

          Tillatelser som definerer hvilke typer beskyttede ressurser appen kan få tilgang til. Verdiene som du sender i denne forespørselen, må samsvare med eller være et delsett av omfangene som er tildelt den eksterne klientappen eller den tilkoblede appen.

          Hvis du vil ha mer informasjon om hvert omfang og dets formål, kan du se OAuth-tokener og -omfang.

          Disse eksemplene på godkjenningsforespørsler implementerer alle PKCE.

          Her er et eksempel på en forespørsel der UVID overføres som en ren verdi i forespørselshodet.

          POST /services/oauth2/authorize? HTTP 1.1
          Host: MyExperienceCloudSite.my.site.com
          Uvid-Hint: UVID abcd-1234-efgh
          Auth-Request-Type: guest
          
          response_type=code_credentials&
          client_id=***********&
          redirect_uri=https://www.MyExperienceCloudSite.my.site.com/services/oauth2/echo&
          code_challenge=********&
          scope=openid
          

          Her er et eksempel på en forespørsel der UVID overføres i et JWT-basert tilgangstoken i toppteksten.

          POST /services/oauth2/authorize? HTTP 1.1
          Host: MyExperienceCloudSite.my.site.com
          Uvid-Hint: JWT **************
          Auth-Request-Type: guest
          
          response_type=code_credentials&
          client_id=***********&
          redirect_uri=https://www.MyDomainName.my.site.com/services/apexrest/code/exchange&
          code_challenge=********
          scope=openid
          

          I dette eksemplet overføres UVID som en ren verdi i forespørselsteksten.

          POST /services/oauth2/authorize? HTTP 1.1
          Host: MyExperienceCloudSite.my.site.com
          Auth-Request-Type: guest
          
          uvid_hint=UVID abcd-1234-efgh&
          response_type=code_credentials&
          client_id=***********&
          redirect_uri=https://www.MyDomainName.my.site.com/services/apexrest/code/exchange&
          code_challenge=********
          scope=openid
          

          Salesforce returnerer en 302-omdirigering

          Salesforce validerer UVID. Hvis UVID-koden ble overført som en ren verdi, validerer Salesforce formatet. Hvis det ble overført som et JWT-basert tilgangstoken, kontrollerer Salesforce gyldigheten av tokenet.

          Salesforce returnerer deretter en HTTP 302-omdirigering til en forhåndskonfigurert URL-adresse som inneholder godkjenningskoden. Hvis flyten skjer i nettleseren, behandles 302-omdirigeringen i nettleseren, og Salesforce sender automatisk omdirigeringssvaret til omdirigerings-URL-adressen, som peker til tilbakekallbehandleren på serversiden på klientsider. Her er et eksempel på en forhåndskonfigurert URL-adresse.

          https://www.MyDomainName.my.site.com/services/apexrest/code/exchange?code=aPrxC1*******
          &sfdc_community_url=https%3A%2F%2FMyDomainName.my.site.com&sfdc_community_id=0DBxxxxxxxxxxxx

          Client Backend trekker ut koden og utveksler den mot et tilgangstoken

          Klientserverdelen trekker ut godkjenningskoden og andre parametere fra den forhåndskonfigurerte URL-adressen. Den starter deretter en kodeutveksling ved å sende koden og andre parametere i en headless POST-forespørsel til /services/oauth2/token sluttpunkt.

          Inkluder disse topptekstene i forespørselen.

          Kodebytte: Hode
          Parameter Obligatorisk? Beskrivelse
          Uvid-Hint Ja.

          Inneholder enten UVID-koden som en ren verdi eller et JWT-basert tilgangstoken med et UVID-kode tilpasset den.

          Ikke inkluder et prefiks for UVID for kodeutvekslingen. Hvis du for eksempel sender UVID som en ren verdi, er toppteksten bare Uvid-Hint: abcd-1234-efgh. Hvis du overfører et JWT-basert tilgangstoken, er det Uvid-Hint: <access token containing UVID>.

          Auth-Request-Type Ja. Angir typen forespørsel du vil sende til Salesforce. For headless-pålogging uten passord må denne verdien settes til guest.

          Inkluder disse parameterne i forespørselsteksten.

          Kodebytte: Body-parametere
          Parameter Obligatorisk? Beskrivelse
          code Ja. Godkjenningsserveren oppretter en godkjenningskode med begrenset levetid og overfører den til klienten etter vellykket godkjenning. Klienten sender godkjenningskoden til godkjenningsserveren for å få et tilgangstoken og eventuelt et oppdateringstoken.
          client_id Ja. Forbrukernøkkelen til den eksterne klientappen eller den tilkoblede appen.
          client_secret Ja. Forbrukerhemmeligheten for den eksterne klientappen eller den tilkoblede appen.
          redirect_uri Ja.

          URL-adressen dit brukere omdirigeres etter en vellykket godkjenning. URI-adressen for omdirigering må stemme med en av verdiene feltet URL-adresse for tilbakekall i den tilkoblede appen. Hvis ikke, mislykkes godkjenningen. Denne verdien må være URL-kodet.

          For private klienter bruker du et redirect_uri som peker til tilbakekallbehandleren på serversiden.

          grant_type Ja. Valideringstypen som appen kan levere for å bevise at den er en sikker besøkende. Fordi denne flyten er en variasjon av godkjenningskoden og legitimasjonsflyten, må verdien være authorization_code.
          code_verifier Bare hvis du bruker PKCE.

          Angir 128 byte vilkårlige data med høy entropi for å gjøre det vanskelig å gjette code-verdien. Angi denne parameteren for å hindre oppfangingsangrep på godkjenningskoden. Verdien må være base64url-kodet som definert i https://datatracker.ietf.org/doc/html/rfc4648#section-5.

          Hvis det er en code_verifier-verdi i tokenforespørselen og en code_challenge-verdi i godkjenningsforespørselen, sammenligner Salesforce de to verdiene. Hvis code_verifier er ugyldig eller ikke samsvarer, mislykkes påloggingen med invalid_grant-feilkoden.

          Hvis code_verifier-verdien er i tokenforespørselen, men det ikke er noen code_challenge-verdi i godkjenningsforespørselen, mislykkes påloggingen med invalid_grant-feilkoden.

          Her er et eksempel på en tokenforespørsel som implementerer PKCE. I dette eksemplet sendes UVID som en ren verdi.

          POST services/oauth2/token? HTTP 1.1
          Host: MyExperienceCloudSite.my.site.com
          Auth-Request-Type: guest
          Uvid_Hint: abcd-1234-efgh
          
          code=********&
          client_id=**********&
          client_secret=*********&
          redirect_uri=https://www.MyDomainName.my.site.com/services/apexrest/code/exchange&
          grant_type=authorization_code&
          code_verifier=*******

          Salesforce utsteder et JWT-basert tilgangstoken

          Etter at du har validert appens legitimasjon. Salesforce returnerer et gjeste-JWT-basert tilgangstoken og en stat til klientens serverdel. Gjestetilgangstokenet inneholder UVID i emnekravet (sub). Her er et eksempel på en snutt av et JWT-basert tilgangstoken. Som en påminnelse har disse tokenene tre komponenter: et hode, en last og en signatur Dette eksemplet viser belastningen. Som du kan se er UVID-verdien i sub prefikset med uvid.

          {
            "tnk": "example/00XXXXXX",
            "ver": "1.0",
            "kid": "CORE_ATJWT************",
            "tty": "sfdc-core-token",
            "typ": "JWT",
            "alg": "RS256"
          }
          
          {
            "scp": "open_id",
            "aud": [
              "https://example.com"
            ],
            "sub": "uvid:abcd-1234-efgh",
            "nbf": "1675197036",
            "iss": "https://MyExperienceCloudSite.my.site.com",
            "exp": "1675198836",
            "iat": "1675197036",
             jti”: xRb**********”
            "client_id": "**********"
          }

          Hvis du vil ha en fullstendig forklaring av hvert krav i et JWT-basert tilgangstoken, kan du se JWT-baserte tilgangstokener i Salesforce Hjelp.

          Tilgangstokensvar for klientens serverdelprosesser

          Klientserverdelen behandler tilgangstokensvaret og lagrer UVID-verdien. Den returnerer en gjesteøkt til appen. Det kan også returnere det JWT-baserte tilgangstokenet, men det er ikke nødvendig.

          App oppretter gjesteøkten

          Appen mottar tokensvaret fra klientens serverdel og oppretter en gjesteøkt.

          Ukjent bruker er nå identifisert

          Den ukjente sluttbrukeren har nå en gjesteøkt knyttet til UVID-verdien som returneres i det JWT-baserte tilgangstokenet. På dette punktet er det opp til deg hva du vil gjøre med UVID-en. Hvis du vil vite hvordan du overfører den til en navngitt brukergodkjenningsflyt, kan du se Utvide gjestebrukerflyten til en navngitt brukerflyt.

           
          Laster
          Salesforce Help | Article