Märkus.
Juurdepääs sellele lehele nõuab autoriseerimist. Võite proovida sisse logida või kausta vahetada.
Juurdepääs sellele lehele nõuab autoriseerimist. Võite proovida kausta vahetada.
Rakendub nendele Dynamics 365 rakendustele:
Inimressursid
See artikkel annab ülevaate, kuidas autentida Microsoft Dynamics 365 Human Resources andmerakenduse programmeerimisliides (API) abil.
Ülevaade
Rakenduse Human Resources andmete API on OData juurutus. Lisateavet vaadake teemast Avatud andmeprotokoll (OData).
Sinu rakendus peab enne API teenuste taotlusi sinu rakenduselt autentima volitatud helistajana.
Põhitõed
Andmete API kutsumiseks peab teie rakendus hankima Microsofti identiteedi platvormilt juurdepääsuloa. Juurdepääsuluba sisaldab teavet teie rakenduse kohta ja luba, et see peab rakenduses Human Resources ressursse kutsuma.
Juurdepääsuluba
Microsofti identiteedi platvormi väljastatud juurdepääsuluba on Base64-kodeeringuga JavaScript Object Notationi (JSON) veebiload (JWTs). Need sisaldavad teavet (nõudeid), et andmete API (ja muud veebi API-d, mis on turvatud Microsofti identiteedi platvormiga) kasutavad kutsuja kinnitamist ja tagavad, et kutsujal on taotletud toimingu teostamiseks vajalikud load. Kutsumiste ajal saate käsitleda juurdepääsulubasid läbipaistmatutena. Peaksite alati edastama juurdepääsulubasid üle turvalise kanali, nt Transport Layer Security (TLS) ja Hypertext Transfer Protocol Secure (HTTPS).
Siin on näide juurdepääsutokenist, mida Microsofti identimisplatvorm väljastab.
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==
Andmete API kutsumiseks lisa ligipääsutoken kandjatokenina oma HTTP päringu autoriseerimispäisele. Näide.
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
Uue rakenduse registreerimine Azure’i portaali kasutades
Logige portaali sisse töö Microsoft Azure - või koolkontoga või isikliku Microsoft kontoga.
Kui teie konto annab teile juurdepääsu rohkem kui ühele rentnikule, Microsoft Entra valige oma konto ülemises parempoolses nurgas ja seadistage portaaliseanss soovitud rentnikule.
Valige vasakul paanil Microsoft Entra ID teenus ja seejärel valige rakenduse registreerimised Uus > registreerimine.
Kui ilmub lehtRakenduse registreerimine, sisestage oma rakenduse registreerimisteave.
Nimi: Sisesta tähendusrikas rakenduse nimi, mida kasutajad näevad.
Toetatud kontotüübid: Vali kontotüübid, mida sinu rakendus toetab.
Toetatud kontotüübid Kirjeldus Ainult selle organisatsioonikataloogi kontod Valige see suvand, kui ehitate tegevusalapõhist rakendust. See suvand ei ole saadaval, kui te ei registreeri rakendust kataloogis. See valik on vastendatud ainult ühe Microsoft Entra rentnikuga.
See suvand on vaikimisi suvand, kui te ei registreeri rakendust väljaspool kataloogi. Sellisel juhul on vaikevalik mitme rentnikuga Microsoft Entra ja isiklikud Microsoft kontod.
Mis tahes organisatsioonikataloogi kontod Valige see suvand kõikidele äri- ja haridusklientidele suunamiseks. See valik on vastendatud ainult mitme Microsoft Entra rentnikuga.
Kui te registreerite rakenduse ainult Microsoft Entra ühe rentnikuna, Microsoft Entra saate seda uuendada ainult mitmeMicrosoft Entra rentniku jaoks ja seejärel tagasi ainult ühe rentniku juurde.
Kontod mis tahes organisatsioonikataloogides ja isiklikes Microsofti kontodes Valige see suvand kõige laiemale klientide kogumile suunamiseks. See valik on vastendatud mitme rentnikuga Microsoft Entra ja isikliku Microsoft kontodega.
Kui te registreerite rakenduse mitme Microsoft Entra rentnikuna ja isikliku Microsoft, ei saa te seda sätet kasutajaliideses (UI) muuta. Selle asemel kasuta rakenduse manifesti redaktorit, et muuta toetatud kontotüüpe.
Ümbersuunamis-URI (valikuline) – valige loodava rakenduse tüüp: veebisait või avalik klient (mobiili- ja töölauaga seade). Seejärel sisestage rakenduse ümbersuunamis-URI (või vastuse URL).
- Veebirakenduste jaoks sisestage rakenduse baas-URL. Näiteks võib
http://localhost:31544olla veebirakenduse URL, mis töötab teie kohalikus masinas. Kasutajad kasutavad seejärel seda URL-i, et logida sisse veebikliendi rakendusse. - Avaliku kliendi rakenduste puhul sisestage URI, mida Microsoft Entra kasutatakse loa vastuste tagastamiseks. Sisesta väärtus, mis on spetsiifiline sinu rakendusele, näiteks
myapp://auth.
Veebirakenduste või rakenduste omarakenduste konkreetsete näidete näeks kiirkäivitusi identimisportaalis Microsoft ( Microsoft Entra varasema ID arendajad).)
- Veebirakenduste jaoks sisestage rakenduse baas-URL. Näiteks võib
Jaotises API load valige suvand Lisa luba. Seejärel otsige ja lisage rakendusse api-d , Dynamics 365 Human Resources mida minu organisatsioon user_impersonation ja lisada. Rakenduse Human Resources ID on f9be0c49-aa22-4ec6-911a-c5da515226ff. Kasutage seda ID-d, et tagada õige rakenduse valimine.
Valige suvand Registreeri.
Microsoft Entra Määrab rakendusele kordumatu rakenduse ID (kliendi ID) ja viib teid rakenduse ülevaate lehele. Et lisada rakendusele rohkem võimalusi, vali teisi seadistusvõimalusi, nagu brändingu ning sertifikaatide ja saladuste valikud.
Juurdepääsuloa toomine
Ligipääsutokeni leidmise meetod personalijuhtimise andmete API kutsumiseks sõltub tehnoloogiatest, mida kasutate kliendirakenduse arendamiseks. Näiteks võid testida kolmanda osapoole utiliidiga, arendada C# konsoolirakendust või veebiteenust või ehitada JavaScript/TypeScript kliendi.
C# kliendi rakenduse näide.
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();
}
}
}
Pärast juurdepääsutokeni hankimist edasta päises olev token Authorization kandjatokenina iga päringuga, mida saadad andme-API-le, nagu eelnevalt kirjeldatud.