Piezīmes
Lai piekļūtu šai lapai, ir nepieciešama autorizācija. Varat mēģināt pierakstīties vai mainīt direktorijus.
Lai piekļūtu šai lapai, ir nepieciešama autorizācija. Varat mēģināt mainīt direktorijus.
Attiecas uz šīm Dynamics 365 lietotnēm:
Human Resources
Šajā rakstā ir sniegta pārskata informācija par to, kā veikt autentifikāciju, izmantojot datu lietojumprogrammu programmēšanas interfeisu Microsoft Dynamics 365 Human Resources (API).
Pārskats
Personāla vadības datu API ir OData ieviešana. Papildinformāciju skatiet sadaļā Atvērto datu protokols (OData).
Jūsu pieteikumam ir jābūt autentificētam kā autorizētam zvanītājam, pirms API apkalpos pieprasījumus no jūsu pieteikumu.
Pamati
Lai izsauktu datu API, jūsu pieteikumam ir jāiegūst piekļuves marķieris no Microsoft identitātes platformas. Piekļuves marķieris satur informāciju par jūsu pieteikumu un atļauju, kurai tai ir, lai zvanītu personāla vadības resursiem.
Piekļuves marķieris
Microsoft identitātes platformas izsniegtie piekļuves marķieri ir base64 kodēti JavaScript objekta notācijas (JSON) tīmekļa marķieri (JWT). Tajos ir ietverta informācija (apgalvojumi), kuru datu API (un citi tīmekļa API, ko aizsargā Microsoft identitātes platforma) izmanto, lai apstiprinātu zvanītāju un pārliecinātos, ka zvanītājam ir atbilstošas atļaujas, lai veiktu pieprasīto operāciju. Zvanu laikā varat apstrādāt piekļuves marķierus kā necaurredzamus. Vienmēr vajadzētu pārraidīt piekļuves marķierus, izmantojot drošu kanālu, piemēram, transportēšanas slāņa drošību (TLS) un hiperteksta pārsūtīšanas protokolu (HTTPS).
Šajā piemērā ir parādīts piekļuves marķieris, ko izsniegusi Microsoft identitātes platforma.
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==
Lai izsauktu datu API, jums ir jāpievieno piekļuves marķieris kā datu nesēja marķieris autorizācijas virsrakstam HTTP pieprasījumā. Tālāk ir minēts piemērs.
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
REģistrējiet jaunu pieteikumu, izmantojot Azure portālu
Piesakieties Microsoft Azure portālā ar darba vai mācību kontu vai personīgo Microsoft kontu.
Ja jūsu konts nodrošina piekļuvi vairākiem nomniekiem, augšējā labajā stūrī atlasiet savu kontu un iestatiet savu portāla sesiju vēlamajam nomniekam Microsoft Entra .
Kreisajā rūtī atlasiet Microsoft Entra ID pakalpojumu un pēc tam atlasiet Programmu reģistrācijas > Jauna reģistrācija.
Kad tiek parādīta lapa Reģistrēt pieteikumu , ievadiet pieteikuma reģistrācijas informāciju:
Nosaukums: ievadiet jēgpilnu lietojumprogrammas nosaukumu, kas tiks rādīts programmas lietotājiem.
Atbalstītie kontu tipi: atlasiet kontu veidus, kas jūsu lietotnei ir jāatbalsta.
Atbalstītie kontu veidi Apraksts Tikai šajā organizatoriskajā direktorijā iekļautie konti Atlasiet šo opciju, ja veidojat biznesa programmu. Šī opcija nav pieejama, ja nereģistrējat programmu direktorijā. Šī opcija ir kartēta tikai uz Microsoft Entra vienu nomnieku.
Šī opcija ir noklusējuma opcija, izņemot tad, ja reģistrējat programmu ārpus direktorija. Tādā gadījumā noklusējuma opcija ir Microsoft Entra vairāku nomnieku un personiskie Microsoft konti.
Jebkurā organizatoriskajā direktorijā iekļautie konti Atlasiet šo opciju, lai adresētu visus biznesa un izglītības klientus. Šī opcija ir kartēta tikai uz Microsoft Entra vairākiem nomniekiem.
Ja programmu reģistrējāt tikai kā Microsoft Entra vienu nomnieku, varat izmantot autentifikācijas paneli, lai to Microsoft Entra atjauninātu tikai vairāku nomnieku režīmā un pēc tam atgrieztos Microsoft Entra tikai pie viena nomnieka.
Konti jebkurā organizācijas direktorijā un personiskajā Microsoft kontā Atlasiet šo opciju, lai sasniegtu visplašāko klientu kopu. Šī opcija ir kartēta uz Microsoft Entra vairāku nomnieku un personisko Microsoft kontu.
Ja programmu reģistrējāt kā Microsoft Entra vairāku nomnieku un personisko Microsoft kontu, šo iestatījumu nevar mainīt lietotāja interfeisā (UI). Tā vietā ir jāizmanto pieteikuma manifesta redaktors, lai mainītu atbalstītos kontu tipus.
Novirzīšanas URI (neobligāti) — atlasiet veidojamās programmas veidu: Tīmeklis vai Publiskais klients (mobilā ierīce vai darbvirsma). Pēc tam ievadiet programmas novirzīšanas URI (vai atbildes vietrādi URL).
- Tīmekļa lietotnēm norādiet programmas bāzes vietrādi URL. Piemēram,
http://localhost:31544tas var būt vietrādis URL tīmekļa programmai, kas darbojas jūsu lokālajā datorā. Pēc tam lietotāji izmanto šo vietrādi URL, lai pieteiktos tīmekļa klienta programmā. - Publiskām klientu programmām norādiet URI, kas Microsoft Entra tiek izmantots, lai atgrieztu marķieru atbildes. Ievadiet vērtību, kas ir specifiska jūsu lietotnei, piemēram
myapp://auth.
Lai skatītu konkrētus tīmekļa programmu vai vietējo programmu piemērus, skatiet ātrās palaišanas # Microsoft identitātes platformu (iepriekš Microsoft Entra ID izstrādātāji).
- Tīmekļa lietotnēm norādiet programmas bāzes vietrādi URL. Piemēram,
Sadaļā API atļaujas atlasiet Pievienot atļauju. Pēc tam cilnē API, ko izmanto mana organizācija, meklējiet Dynamics 365 Human Resources un pievienojiet user_impersonation atļauju savai programmai. Personāla vadības pieteikuma ID ir f9be0c49-aa22-4ec6-911a-c5da515226ff. Lietojiet šo ID, lai nodrošinātu, ka esat izvēlējies pareizo pieteikumu.
Atlasiet Reģistrēt.
Microsoft Entra piešķir jūsu programmai unikālu lietojumprogrammas ID (klienta ID) un novirza jūs uz lietotnes kopsavilkuma lapu. Lai savai programmai pievienotu vairāk iespēju, varat izvēlēties citas konfigurācijas opcijas, piemēram, opcijas zīmolradei un sertifikātiem un slepenajām vērtībām.
Piekļuves marķiera izgūšana
Dati par to, kā tiek izgūts piekļuves marķieris, lai izsauktu personāla vadības datu API, būs atkarīgi no tā, kādas tehnoloģijas izmantojat, lai izstrādātu savu klientu programmu. Piemēram, jūs varat testēt, izmantojot trešās puses utilītu, izstrādāt C# konsoles lietojumprogrammu vai tīmekļa pakalpojumu vai veidot javascript/TypeScript klientu.
Piemērs C# klienta pieteikumam:
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();
}
}
}
Kad esat izguvis piekļuves tiesības, marķieris tiks nodots autorizācijas galvenē kā datu nesēja marķieris ar katru pieprasījumu, ko nosūtāt datu API, kā aprakstīts iepriekš.