Merk
Tilgang til denne siden krever autorisasjon. Du kan prøve å logge på eller endre kataloger.
Tilgang til denne siden krever autorisasjon. Du kan prøve å endre kataloger.
Gjelder disse Dynamics 365-appene:
Personale
Denne artikkelen gir en oversikt over hvordan du godkjenner med Microsoft Dynamics 365 Human Resources dataprogramprogrammeringsgrensesnittet (API).
Oversikt
Data-API-et for Human Resources er en OData-implementering. Hvis du vil ha mer informasjon, kan du se Open Data Protocol (OData).
Programmet må godkjennes som en autorisert innringer før API-tjenesteforespørslene fra programmet.
Det grunnleggende
For å kalle data-API-et må programmet hente et tilgangstoken fra Microsoft-identitetsplattformen. Tilgangstokenet inneholder informasjon om programmet og tillatelsen det har til å kalle ressurser i Human Resources.
Tilgangstoken
Tilgangstokener som utstedes av Microsoft-identitetsplattformen, er base64-kodede webtokener for JSON (JavaScript Object Notation). De inneholder informasjon (krav) som data-API-et (og andre web-API-er som er sikret av Microsoft-identitetsplattformen) bruker til å validere kalleren og sørge for at kalleren har de riktige tillatelsene til å utføre operasjonen den er i ferd med å be om. Under kall kan du behandle tilgangstokener som ugjennomsiktig. Du bør alltid overføre tilgangstokener over en sikker kanal, for eksempel TLS (Transport Layer Security) og Secure Transfer Protocol (HTTPS).
Her er et eksempel på et tilgangstoken som Microsofts identitetsplattform utsteder.
EwAoA8l6BAAU7p9QDpi/D7xJLwsTgCg3TskyTaQAAXu71AU9f4aS4rOK5xoO/SU5HZKSXtCsDe0Pj7uSc5Ug008qTI+a9M1tBeKoTs7tHzhJNSKgk7pm5e8d3oGWXX5shyOG3cKSqgfwuNDnmmPDNDivwmi9kmKqWIC9OQRf8InpYXH7NdUYNwN+jljffvNTewdZz42VPrvqoMH7hSxiG7A1h8leOv4F3Ek/oeJX6U8nnL9nJ5pHLVuPWD0aNnTPTJD8Y4oQTp5zLhDIIfaJCaGcQperULVF7K6yX8MhHxIBwek418rKIp11om0SWBXOYSGOM0rNNN59qNiKwLNK+MPUf7ObcRBN5I5vg8jB7IMoz66jrNmT2uiWCyI8MmYDZgAACPoaZ9REyqke+AE1/x1ZX0w7OamUexKF8YGZiw+cDpT/BP1GsONnwI4a8M7HsBtDgZPRd6/Hfqlq3HE2xLuhYX8bAc1MUr0gP9KuH6HDQNlIV4KaRZWxyRo1wmKHOF5G5wTHrtxg8tnXylMc1PKOtaXIU4JJZ1l4x/7FwhPmg9M86PBPWr5zwUj2CVXC7wWlL/6M89Mlh8yXESMO3AIuAmEMKjqauPrgi9hAdI2oqnLZWCRL9gcHBida1y0DTXQhcwMv1ORrk65VFHtVgYAegrxu3NDoJiDyVaPZxDwTYRGjPII3va8GALAMVy5xou2ikzRvJjW7Gm3XoaqJCTCExN4m5i/Dqc81Gr4uT7OaeypYTUjnwCh7aMhsOTDJehefzjXhlkn//2eik+NivKx/BTJBEdT6MR97Wh/ns/VcK7QTmbjwbU2cwLngT7Ylq+uzhx54R9JMaSLhnw+/nIrcVkG77Hi3neShKeZmnl5DC9PuwIbtNvVge3Q+V0ws2zsL3z7ndz4tTMYFdvR/XbrnbEErTDLWrV6Lc3JHQMs0bYUyTBg5dThwCiuZ1evaT6BlMMLuSCVxdBGzXTBcvGwihFzZbyNoX+52DS5x+RbIEvd6KWOpQ6Ni+1GAawHDdNUiQTQFXRxLSHfc9fh7hE4qcD7PqHGsykYj7A0XqHCjbKKgWSkcAg==
Hvis du vil kalle data-API-en, legger du ved tilgangstokenet som et bærertoken til autorisasjonshodet i HTTP-forespørselen. Her er et eksempel.
HTTP/1.1
Authorization: Bearer EwAoA8l6BAAU ... 7PqHGsykYj7A0XqHCjbKKgWSkcAg==
Host: https://{cluster}.hr.talent.dynamics.com
GET https://{cluster}.hr.talent.dynamics.com/namespaces/{namespace_guid}/data/JobTypes
Registrere et nytt program ved å bruke Azure-portalen
Logg på Microsoft Azure-portalen med en jobb- eller skolekonto eller en personlig Microsoft-konto.
Hvis kontoen gir deg tilgang til flere leiere, velger du kontoen i øvre høyre hjørne og angir portaløkten til Microsoft Entra-leiren du vil bruke.
Velg Microsoft Entra ID-tjenesten i venstre rute, og velg deretter Appregistreringer > Ny registrering.
Når siden Legge til program vises, angir du registreringsinformasjonen for programmet:
Navn: Skriv inn et meningsfylt programnavn som brukerne ser.
Støttede kontotyper: Velg kontotypene som appen støtter.
Støttede kontotyper Beskrivelse Bare kontoer i denne organisasjonskatalogen Velg dette alternativet hvis du skal bygge en forretningsapp. Dette alternativet er ikke tilgjengelig med mindre du registrerer appen i en katalog. Dette alternativet er tilordnet til Bare én Microsoft Entra-tenant.
Dette alternativet er standardalternativet med mindre du registrerer appen utenfor en katalog. I så fall er standardalternativet Flere Microsoft Entra-leiere og personlige Microsoft-kontoer.
Kontoer i enhver organisasjonskatalog Velg dette alternativet for å målrette alle forretnings- og utdanningskunder. Dette alternativet tilordnes kun for flere leiere i Microsoft Entra.
Hvis du registrerte appen som Bare én Microsoft Entra-tenant, kan du bruke Godkjenning-bladet til å oppdatere den til Flere leiere bare i Microsoft Entra og tilbake til Bare én Microsoft Entra-tenant.
Kontoer i enhver organisasjonskatalog og personlige Microsoft-kontoer Velg dette alternativet for å målrette mot det bredeste settet med kunder. Dette alternativet er tilordnet Microsoft Entra for flere leiere og personlige Microsoft-kontoer.
Hvis du registrerte appen som Flere Microsoft Entra-leiere og personlige Microsoft-kontoer, kan du ikke endre denne innstillingen i brukergrensesnittet. Bruk i stedet redigeringsprogrammet for programmanifest til å endre kontotypene som støttes.
URI for omadressering (valgfritt) – Velg apptypen du bygger: Web eller Offentlig klient (mobil og skrivebord). Angi deretter URI-en for omadressering (eller URL-svaradressen) for appen.
- For webapper oppgir du den primære URL-adressen til appen.
http://localhost:31544kan for eksempel være URL-adressen til en webapp som kjører på din lokale maskin. Brukerne bruker deretter denne URL-adressen til å logge seg inn på en webklientapp. - For offentlige klientapper angir du URI-en som Microsoft Entra bruker til å returnere tokensvar. Angi en verdi som er spesifikk for appen, for eksempel
myapp://auth.
Hvis du vil se bestemte eksempler for nettapper eller innebygde apper, kan du se hurtigstartene på Microsoft-identitetsplattformen (tidligere Microsoft Entra ID for utviklere).
- For webapper oppgir du den primære URL-adressen til appen.
Under API-tillatelser velger du Legg til en tillatelse. Deretter går du til fanen API-er organisasjonen min bruker, søker etter Dynamics 365 Human Resources og legger deretter til tillatelsen user_impersonation i appen. Program-ID-en for Human Resources er f9be0c49-aa22-4ec6-911a-c5da515226ff. Bruk denne ID-en til å sikre at du har valgt riktig program.
Velg Registrer.
Microsoft Entra tilordner en unik program-ID (klient-ID) til appen, og tar deg til Oversikt-siden for appen din. Hvis du vil legge til flere funksjoner i appen, velger du andre konfigurasjonsalternativer, for eksempel alternativer for varemerking og sertifikater og hemmeligheter.
Hente et tilgangstoken
Metoden for å hente et tilgangstoken for å kalle API-en for personaldata avhenger av teknologiene du bruker til å utvikle klientprogrammet. Du kan for eksempel teste med et tredjepartsverktøy, utvikle et C#-konsollprogram eller en nettjeneste eller bygge en JavaScript/TypeScript-klient.
Eksempel på C#-klientprogram:
using System;
using System.Net.Http;
using System.Threading.Tasks;
// requires appropriate NuGet package references in the project
using Microsoft.IdentityModel.Clients.ActiveDirectory;
namespace TalentODataPoC
{
class Program
{
// prereq: This client app must be registered in Microsoft Entra ID. The app must be
// registered as requiring permission to the Dynamics 365 for Talent API (with the Dynamics
// HCM Workload delegated permission).
static string clientId = "00001111-aaaa-2222-bbbb-3333cccc4444"; // This value should be obtained from Microsoft Entra and must match your registered app
static string talentNamespaceUri = "";
public static async Task CallTalentODataService()
{
// authority URI
UriBuilder uri = new UriBuilder("https://login.microsoftonline.com/common");
AuthenticationContext authenticationContext = new AuthenticationContext(uri.ToString());
// request token for the resource we want to access (Human Resources). This will authenticate
// the user and return an access token containing claims for the authenticated user.
var authResult = await authenticationContext.AcquireTokenAsync(
"http://hr.talent.dynamics.com", /*Talent app id or resource URI*/
clientId, /*registered client app id*/
new Uri("https://localhost"), /*redirect URI, as registered in your Microsoft Entra app*/
new PlatformParameters(PromptBehavior.SelectAccount));
// create the authorization header, which needs to be passed in the Header of the HTTP Requests to Talent
string authHeader = authResult.CreateAuthorizationHeader();
// HINT: paste the JWT into https://jwt.ms to decode and view it
Console.Write("authHeader: ");
Console.WriteLine(authHeader);
Console.WriteLine();
HttpClient client = new HttpClient();
client.DefaultRequestHeaders.Add("Authorization", authHeader);
string s;
Console.Write("Talent Namespace URI: ");
Console.WriteLine(talentNamespaceUri);
Console.WriteLine();
// call the OData service to get JobType data from Talent
var resultOdata = await client.GetAsync(talentNamespaceUri + "data/JobTypes");
s = await resultOdata.Content.ReadAsStringAsync();
Console.WriteLine(s);
Console.WriteLine();
}
static void Main(string[] args)
{
Console.WriteLine();
// if the user passes in a single parameter, assume it is the namespaceUri for Talent
if (args.Length == 1)
{
talentNamespaceUri = args[0];
} else if (args.Length == 0)
{
Console.WriteLine("Enter Talent URL including namespace.");
Console.WriteLine("Example: https://aos-rts-sf-21454f9d830-prod-westus2.hr.talent.dynamics.com/namespaces/2328af1a-2d45-4c6a-99e3-12a4c3867dcf/");
Console.Write("> ");
talentNamespaceUri = Console.ReadLine();
if (!talentNamespaceUri.EndsWith("/"))
{
talentNamespaceUri = talentNamespaceUri + "/";
}
} else
{
Console.WriteLine("Unexpected Arguments");
System.Environment.Exit(1);
}
Task t = Program.CallTalentODataService();
t.Wait();
}
}
}
Når du har hentet et tilgangstoken, sender du tokenet i toppteksten Authorization som et bærertoken med hver forespørsel du sender til data-API-en, som beskrevet tidligere.