OAuth 2.0-användarnamn-lösenord-flöde för speciella scenarion
Du kan använda flödet för användarnamn-lösenord för att auktorisera en klient via en ansluten app som redan har användarens uppgifter. Vi rekommenderar dock att undvika detta flöde eftersom det skickar inloggningsuppgifter fram och tillbaka. Använd det endast om det finns stort förtroende mellan resursägaren och klienten, klienten är en app från första part, Salesforce är datavärd och andra typer av godkännanden inte är tillgängliga. I sådana fall, ange användarbehörigheter för att minimera åtkomst och skydda lagrade inloggningsuppgifter från obehörig åtkomst.
Versioner som krävs
| Tillgängliga i: både Salesforce Classic och Lightning Experience |
| Tillgängliga i: Alla versioner |
Användarnamn-lösenord-flödet skapar åtkomsttokens som Salesforce sessions-ID:n som inte kan introspekteras. Eftersom åtkomsttokens är tillfälliga visas inte anslutna appar som använder detta flöde på sidan Ansluten app OAuth-användning, även om de har en aktiv session. Detta flöde har inte stöd för omfattningar eller uppdateringstokens. Experience Cloud-webbplatser har inte stöd för OAuth 2.0-användarnamn-lösenord-flödet.
Här är de huvudsakliga stegen i användarnamn-lösenord-flödet.
- Den anslutna appen begär en åtkomsttoken genom att skicka användarens inloggningsuppgifter till Salesforce-tokenslutpunkten.
- Efter att ha bekräftat begäran beviljar Salesforce en ny åtkomsttoken åt den anslutna appen.
- Den anslutna appen kan använda åtkomsttoken för att komma åt den skyddade datan på Salesforce-servern.
Begär en åtkomsttoken
För att begära en åtkomsttoken skickar den anslutna appen användarens användarnamn och lösenord som en POST utanför bandet till Salesforce-tokenslutpunkten. Detta POST är ett exempel.
grant_type=password&
client_id=3MVG9lKcPoNINVBIPJjdw1J9LLM82HnFVVX19KY1uA5mu0QqEWhqKpoW3svG3XHrXDiCQjK1mdgAvhCscA9GE&
client_secret=1955279925675241571&
username=testuser@salesforce.com&
password=mypasswordInkludera dessa uppgifter i POST.
| Parameter | Beskrivning |
|---|---|
grant_type
|
Den OAuth 2.0 grant type som den anslutna appen begär. Värdet måste vara password för detta flöde. |
client_id
|
Konsumentnyckel för den anslutna appen. För att komma till konsumentnyckeln, från Apphanteraren, hitta den anslutna appen och välj Visa från rullmenyn. Klicka sedan på Hantera konsumentdetaljer. Ibland ombes du bekräfta din identitet innan du kan se konsumentnyckeln. |
client_secret
|
Konsumenthemligheten för den anslutna appen. För att komma till konsumenthemligheten, gå till Apphanteraren och hitta den anslutna appen, och välj Visa från rullmenyn. Klicka sedan på Hantera konsumentdetaljer. Ibland ombes du bekräfta din identitet innan du kan se konsumenthemligheten. |
username
|
Användarnamnet på användaren som den anslutna appen imiterar. |
password
|
Lösenordet för användaren som den anslutna appen imiterar. Vid användning av användarnamn-lösenord-flödet med API, skapa ett fält i inloggningsfönstret för användarnamn och lösenord där användare kan ange sin säkerhetstoken. Ett säkerhetstoken är en automatiskt skapad nyckel som måste läggas till i slutet av ditt lösenord för att du ska kunna logga in på Salesforce från ett okänt nätverk som inte är betrott. Sammanlänka lösenord och token när du skickar begäran för godkännande. |
format
|
Om det inte inkluderas i begärans sidhuvud kan du specificera det förväntade returformatet. Parametern
|
Salesforce beviljar en åtkomsttoken
Efter att begäran är verifierad så skickar Salesforce ett svar till klienten.
Här är ett exempelsvar.
{"id":"https://login.salesforce.com/id/00Dx0000000BV7z/005x00000012Q9P",
"issued_at":"1278448832702",
"instance_url":"https://yourInstance.salesforce.com/",
"signature":"0CmxinZir53Yex7nE0TD+zMpvIWYGb/bdJh6XfOH6EQ=",
"access_token":"00Dx0000000BV7z!AR8AQAxo9UfVkh8AlV0Gomt9Czx9LjHnSSpwBMmbRcgKFmxOtvxjTrKW19ye6PE3Ds1eQz3z8jr3W7_VbWmEu4Q8TVGSTHxs",
"token_type":"Bearer"}Dessa parametrar är i huvuddelen av svaret:
| Parameter | Beskrivning |
|---|---|
id
|
En identitets-URL som kan användas både för att identifiera användaren och som en sökfråga för mer information om användaren. Se Identitets-URL:er. |
issued_at
|
Tidsstämpel då signaturen skapades i millisekunder. |
instance_url
|
En URL som anger instansen för användarens organisation. Exempel: https://yourInstance.salesforce.com/.
|
signature
|
Base64-kodad HMAC-SHA256-signatur signerad med client_secret. Signaturen kan innehålla det sammanlänkade ID:t och issued_at value, som du kan använda för att bekräfta att identitets-URL:en inte har ändrats sedan servern skickade den. |
access_token
|
OAuth-token som en ansluten app använder för att begära åtkomst till en skyddad resurs åt klientprogrammet. Ytterligare behörigheter i form av omfattningar kan medfölja åtkomsttoken. |
token_type
|
En Bearer som används för alla svar som innehåller en åtkomsttoken.
|

