Nata
Norint pasiekti šį puslapį, reikalingas leidimas. Galite pabandyti prisijungti arba pakeisti katalogus.
Norint pasiekti šį puslapį, reikalingas leidimas. Galite pabandyti pakeisti katalogus.
Taikoma šioms Dynamics 365 programoms:
Personalas
Šiame straipsnyje pateikiama apžvalginė informacija apie tai, kaip autentifikuoti naudojant duomenų taikomųjų Microsoft Dynamics 365 Human Resources programų programavimo sąsają (API).
Apžvalga
„Human Resources“ skirta duomenų API yra „OData“ diegimas. Daugiau informacijos rasite Atvirųjų duomenų protokolas (OData).
Jūsų programą reikia autentifikuoti kaip įgaliotą kvietyklę, kad API galėtų atsakyti į užklausas, gautas iš jūsų programos.
Pagrindai
Siekiant iškviesti duomenų API, programa turi gauti „Microsoft“ tapatumo platformos prieigos atpažinimo ženklą. Prieigos atpažinimo ženkle yra informacija apie jūsų programą ir teisė iškviesti „Human Resources“ išteklius.
Prieigos atpažinimo ženklas
„Microsoft“ tapatumo platformos išduodami prieigos atpažinimo ženklai yra base64 užkoduoti „JavaScript Object Notation“ (JSON) žiniatinklio atpažinimo ženklai (JWT). Jose yra informacija (paraiškos), kad duomenų API (ir kitos žiniatinklio API, saugomos „Microsoft“ tapatumo platformos) yra naudojamos kvietyklei patvirtinti ir įsitikinti, kad kvietyklė turi tinkamas teises prašomai operacijai atlikti. Skambučių metu galite laikyti prieigos atpažinimo ženklus nepermatomais. Prieigos atpažinimo ženklus visada turite perduoti saugiais kanalais, tokiais kaip transportavimo lygmens sauga (TLS) ir Hypertext Transfer Protocol Secure (HTTPS).
Čia yra prieigos atpažinimo ženklo, kurį išdavė „Microsoft“ tapatumo platforma, pavyzdys.
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==
Norėdami iškviesti duomenų API, pridėkite prieigos atpažinimo ženklą kaip pateikėjo atpažinimo ženklą prie autorizavimo antraštės savo HTTP užklausoje. Toliau pateikiamas pavyzdys.
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
Naudodami „Azure“ portalą, užregistruokite naują programą
Prisijunkite prie portalo Microsoft Azure naudodami darbo ar mokyklos paskyrą arba asmeninę Microsoft paskyrą.
Jei jūsų abonementas suteikia prieigą prie daugiau nei vieno nuomotojo, viršutiniame dešiniajame kampe pasirinkite savo abonementą ir nustatykite norimą portalo seanso metu Microsoft Entra nuomotoją.
Kairiojoje srityje pasirinkite Microsoft Entra ID tarnybą, tada pasirinkite Programų registracijos Nauja > registracija.
Kai pasirodys puslapis Registruoti paraišką , įveskite savo paraiškos registracijos informaciją:
Pavadinimas: įveskite prasmingą programos pavadinimą, kuris bus rodomas programos naudotojams.
Palaikomi paskyrų tipai: pasirinkite paskyrų, kurias turėtų palaikyti programa, tipus.
Palaikomi sąskaitų tipai Aprašymas Paskyros tik šiame organizaciniame kataloge Pasirinkite šią pasirinktį, jei kuriate verslui skirtą programą. Ši parinktis pasiekiama tik tuo atveju, jei registruojate programą kataloge. Ši parinktis susieta tik su Microsoft Entra vienu nuomotoju.
Ši parinktis yra numatytoji parinktis, nebent registruojate programą ne kataloge. Tokiu atveju numatytoji parinktis yra Microsoft Entra kelių nuomininkų ir asmeninės Microsoft paskyros.
Paskyros bet kokiame organizaciniame kataloge Pasirinkite šią parinktį, norėdami tiksline auditorija pasirinkti visus verslo ir mokslo klientus. Ši parinktis susieta tik su Microsoft Entra keliais nuomotojais.
Jei užregistravote programą tik kaip Microsoft Entra vieną nuomininką, galite naudoti autentifikavimo ašmenis, kad atnaujintumėte ją Microsoft Entra tik į kelis nuomininkus , o tada grįžtumėte tik į Microsoft Entra vieną nuomininką.
Bet kokio organizacinio katalogo paskyros ir asmeninės „Microsoft“ paskyros Pasirinkite šia parinktį, kad tiksline auditorija pasirinktumėte didžiausią klientų grupę. Ši parinktis susieta su Microsoft Entra kelių nuomininkų ir asmeninėmis Microsoft paskyromis.
Jei užregistravote programą kaip Microsoft Entra kelių nuomininkų ir asmenines Microsoft paskyras, negalite pakeisti šio nustatymo vartotojo sąsajoje (UI). Vietoj to, turite naudoti programos deklaracijos doroklį, kad pakeistumėte palaikomus paskyrų tipus.
Peradresuoti URI (pasirinktinai) – pasirinkite kuriamos programos tipą: Žiniatinklis arba Viešasis klientas (mobilusis ir stalinis kompiuteris). Tada įveskite programos nukreipimo URI (arba atsakymo URL).
- Norėdami naudoti žiniatinklio programas, nurodykite pagrindinį programos URL. Pavyzdžiui,
http://localhost:31544tai gali būti žiniatinklio programos, kuri veikia jūsų vietiniame kompiuteryje, URL. Tada vartotojai naudoja šį URL, kad prisijungtų prie žiniatinklio kliento programos. - Jei naudojate viešojo kliento programas, pateikite URI, kuris Microsoft Entra naudojamas žetonų atsakymams pateikti. Įveskite konkrečią programos vertę, pvz., .
myapp://auth
Norėdami pamatyti konkrečius žiniatinklio programų arba savųjų programų pavyzdžius, peržiūrėkite greitąjį paleidimą Microsoft tapatybės platformoje (anksčiau – Microsoft Entra ID kūrėjai).
- Norėdami naudoti žiniatinklio programas, nurodykite pagrindinį programos URL. Pavyzdžiui,
Dalyje API teisės pasirinkite Įtraukti leidimą. Tada skirtuke API, kurias naudoja mano organizacija, ieškokite Dynamics 365 Human Resources ir įtraukite user_impersonation leidimą į savo programą. „Human Resources“ programos ID yra f9be0c49-aa22-4ec6-911a-c5da515226ff. Naudokite šį ID norėdami įsitikinti, kad pasirinkote tinkamą programą.
Pasirinkite Registruotis.
Microsoft Entra programai priskiria unikalų programos ID (kliento ID) ir nukreipia jus į programos apžvalgos puslapį. Norėdami pridėti daugiau galimybių prie programos, galite pasirinkti kitas konfigūravimo parinktis, pvz., prekių ženklų, sertifikatų ir slaptųjų raktų parinktis.
Prieigos atpažinimo ženklo nuskaitymas
Konkreti informacija apie tai, kaip nuskaityti prieigos atpažinimo ženklą, kad būtų galima iškviesti „Human Resources“ duomenų API, priklausys nuo to, kokiomis technologijomis naudojatės kurdami kliento programą. Pavyzdžiui, galbūt bandote naudodami trečiosios šalies įrankį, kuriate C# konsolės programą ar žiniatinklio paslaugą arba kuriate "JavaScript" / "TypeScript" klientą.
C# kliento programos pavyzdys:
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();
}
}
}
Nuskaitę prieigos atpažinimo ženklą, perduosite šį ženklą autorizavimo antraštėje kaip pateikėjo atpažinimo ženklą kartu su kiekviena užklausa, kurią siunčiate duomenų API, kaip aprašyta anksčiau.