{"id":180,"date":"2023-11-27T09:49:32","date_gmt":"2023-11-27T08:49:32","guid":{"rendered":"https:\/\/france.magicsoftware.com\/blog\/?p=180"},"modified":"2024-12-29T14:33:29","modified_gmt":"2024-12-29T13:33:29","slug":"azuread-magic-xpi-get-users-list-and-create-user-using-rest-api","status":"publish","type":"post","link":"https:\/\/france.magicsoftware.com\/blog\/magic-xpi\/azuread-magic-xpi-get-users-list-and-create-user-using-rest-api\/","title":{"rendered":"AzureAD \u2013 Magic xpi: How to Get AzureAD User List and manage Users using Microsoft Graph REST API"},"content":{"rendered":"\n<p>Describe the different steps for connecting Magic xpi with AzureAD using REST API<\/p>\n\n\n\n<pre class=\"wp-block-verse\">1\/ Check that you get OAuth2 token from login.microsoftonline using Postman<\/pre>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"809\" height=\"824\" src=\"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2024\/06\/AD_MG7.png\" alt=\"\" class=\"wp-image-950\" style=\"width:493px;height:auto\" srcset=\"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2024\/06\/AD_MG7.png 809w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2024\/06\/AD_MG7-295x300.png 295w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2024\/06\/AD_MG7-768x782.png 768w\" sizes=\"auto, (max-width: 809px) 100vw, 809px\" \/><\/figure>\n\n\n\n<p>(*) client_id, clientsecret, resource, tenantid, callback URL and scope are retrieved from azure portal (https:\/\/portal.azure.com)<\/p>\n\n\n\n<p>(**) Check the API permissions <\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"555\" src=\"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/AZUREAD_XPI4-1024x555.png\" alt=\"\" class=\"wp-image-196\" style=\"width:633px;height:auto\" srcset=\"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/AZUREAD_XPI4-1024x555.png 1024w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/AZUREAD_XPI4-300x162.png 300w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/AZUREAD_XPI4-768x416.png 768w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/AZUREAD_XPI4.png 1167w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>2\/Check that you can get the Users List from Postman<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"773\" src=\"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/AZUREAD_XPI3-1-1024x773.png\" alt=\"\" class=\"wp-image-193\" style=\"width:640px;height:auto\" srcset=\"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/AZUREAD_XPI3-1-1024x773.png 1024w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/AZUREAD_XPI3-1-300x226.png 300w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/AZUREAD_XPI3-1-768x579.png 768w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/AZUREAD_XPI3-1.png 1063w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>2\/ Create a REST Client Magic xpi resource (Project=&gt;Settings=&gt;Resources)<\/p>\n\n\n\n<p>Define a REST resource with OAuth2 security enabled with all credentials <\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"537\" src=\"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2024\/06\/AD_MG1-1-1024x537.png\" alt=\"\" class=\"wp-image-927\" style=\"width:771px;height:auto\" srcset=\"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2024\/06\/AD_MG1-1-1024x537.png 1024w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2024\/06\/AD_MG1-1-300x157.png 300w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2024\/06\/AD_MG1-1-768x402.png 768w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2024\/06\/AD_MG1-1.png 1483w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Define 2 Paths : \/users  and  \/users\/{id}<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"537\" src=\"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2024\/06\/AD_MG2-1-1024x537.png\" alt=\"\" class=\"wp-image-936\" style=\"width:785px;height:auto\" srcset=\"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2024\/06\/AD_MG2-1-1024x537.png 1024w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2024\/06\/AD_MG2-1-300x157.png 300w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2024\/06\/AD_MG2-1-768x403.png 768w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2024\/06\/AD_MG2-1-1536x805.png 1536w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2024\/06\/AD_MG2-1.png 1572w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>3\/ Drag and Drop a REST Client Connector linked to the resource and configure the connector to call users with Get operation.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"919\" height=\"742\" src=\"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2024\/06\/AD_MG3.png\" alt=\"\" class=\"wp-image-937\" style=\"width:493px;height:auto\" srcset=\"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2024\/06\/AD_MG3.png 919w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2024\/06\/AD_MG3-300x242.png 300w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2024\/06\/AD_MG3-768x620.png 768w\" sizes=\"auto, (max-width: 919px) 100vw, 919px\" \/><\/figure>\n\n\n\n<p>7\/ Use Datamapper component to parse the Json response and create a flat file with 3 columns (userPrincipalName, id, mail)<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"333\" src=\"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/AZUREAD_XPI11-1024x333.png\" alt=\"\" class=\"wp-image-216\" style=\"width:763px;height:auto\" srcset=\"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/AZUREAD_XPI11-1024x333.png 1024w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/AZUREAD_XPI11-300x98.png 300w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/AZUREAD_XPI11-768x250.png 768w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/AZUREAD_XPI11.png 1244w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>8\/ To create a User, you need to update a json message with different attributes using a flow data component or a datamapper<\/p>\n\n\n\n<p>(*) to get the Json format, please consult Microsoft documentation (<a href=\"https:\/\/learn.microsoft.com\/en-us\/graph\/api\/user-post-users?view=graph-rest-1.0&amp;tabs=http\">Create User &#8211; Microsoft Graph v1.0 | Microsoft Learn<\/a>)<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"986\" height=\"442\" src=\"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/AZUREAD_XPI12.png\" alt=\"\" class=\"wp-image-219\" style=\"width:582px;height:auto\" srcset=\"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/AZUREAD_XPI12.png 986w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/AZUREAD_XPI12-300x134.png 300w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/AZUREAD_XPI12-768x344.png 768w\" sizes=\"auto, (max-width: 986px) 100vw, 986px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"429\" src=\"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/AZUREAD_XPI13-1024x429.png\" alt=\"\" class=\"wp-image-221\" style=\"width:597px;height:auto\" srcset=\"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/AZUREAD_XPI13-1024x429.png 1024w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/AZUREAD_XPI13-300x126.png 300w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/AZUREAD_XPI13-768x321.png 768w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/AZUREAD_XPI13-1536x643.png 1536w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/AZUREAD_XPI13.png 1665w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>9\/ Drag and Drop a REST Client connector and call users with Post operation<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"935\" height=\"739\" src=\"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2024\/06\/AD_MG4.png\" alt=\"\" class=\"wp-image-939\" style=\"width:446px;height:auto\" srcset=\"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2024\/06\/AD_MG4.png 935w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2024\/06\/AD_MG4-300x237.png 300w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2024\/06\/AD_MG4-768x607.png 768w\" sizes=\"auto, (max-width: 935px) 100vw, 935px\" \/><\/figure>\n\n\n\n<p>If the user is created successfully, you should receive status 201 in the variable F.StatusCode and a json response with the user id<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"252\" src=\"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/AZUREAD_XPI16-1024x252.png\" alt=\"\" class=\"wp-image-232\" srcset=\"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/AZUREAD_XPI16-1024x252.png 1024w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/AZUREAD_XPI16-300x74.png 300w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/AZUREAD_XPI16-768x189.png 768w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/AZUREAD_XPI16.png 1448w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>10\/ If you want to delete, update an AD user, you can use Operations : Delete, Patch and pass the userid in the path ( \/users\/{id})<\/p>\n\n\n\n<p>Below an example for deleting the user.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"719\" src=\"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2024\/06\/AD_MG5-1024x719.png\" alt=\"\" class=\"wp-image-943\" style=\"width:556px;height:auto\" srcset=\"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2024\/06\/AD_MG5-1024x719.png 1024w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2024\/06\/AD_MG5-300x211.png 300w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2024\/06\/AD_MG5-768x539.png 768w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2024\/06\/AD_MG5.png 1061w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"175\" src=\"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/AZUREAD_XPI18-1024x175.png\" alt=\"\" class=\"wp-image-236\" srcset=\"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/AZUREAD_XPI18-1024x175.png 1024w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/AZUREAD_XPI18-300x51.png 300w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/AZUREAD_XPI18-768x132.png 768w, https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/AZUREAD_XPI18.png 1483w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>11\/ Documentation Reference  : <\/p>\n\n\n\n<p><a href=\"https:\/\/learn.microsoft.com\/en-us\/graph\/api\/resources\/users?view=graph-rest-1.0\">https:\/\/learn.microsoft.com\/en-us\/graph\/api\/resources\/users?view=graph-rest-1.0<\/a><\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Describe the different steps for connecting Magic xpi with AzureAD using REST API 1\/ Check that you get OAuth2 token from login.microsoftonline using Postman (*) client_id, clientsecret, resource, tenantid, callback URL and scope are retrieved from azure portal (https:\/\/portal.azure.com) (**) Check the API permissions 2\/Check that you can get the Users List from Postman 2\/ [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":245,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"","ast-site-content-layout":"default","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","ast-disable-related-posts":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"var(--ast-global-color-4)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[31,4,28],"tags":[11,14],"class_list":["post-180","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-azure","category-magic-xpi","category-microsoft","tag-azure","tag-magic-xpi"],"aioseo_notices":[],"jetpack_featured_media_url":"https:\/\/france.magicsoftware.com\/blog\/wp-content\/uploads\/2023\/11\/AZUREAD_XPI1_1.png","_links":{"self":[{"href":"https:\/\/france.magicsoftware.com\/blog\/wp-json\/wp\/v2\/posts\/180","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/france.magicsoftware.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/france.magicsoftware.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/france.magicsoftware.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/france.magicsoftware.com\/blog\/wp-json\/wp\/v2\/comments?post=180"}],"version-history":[{"count":18,"href":"https:\/\/france.magicsoftware.com\/blog\/wp-json\/wp\/v2\/posts\/180\/revisions"}],"predecessor-version":[{"id":2439,"href":"https:\/\/france.magicsoftware.com\/blog\/wp-json\/wp\/v2\/posts\/180\/revisions\/2439"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/france.magicsoftware.com\/blog\/wp-json\/wp\/v2\/media\/245"}],"wp:attachment":[{"href":"https:\/\/france.magicsoftware.com\/blog\/wp-json\/wp\/v2\/media?parent=180"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/france.magicsoftware.com\/blog\/wp-json\/wp\/v2\/categories?post=180"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/france.magicsoftware.com\/blog\/wp-json\/wp\/v2\/tags?post=180"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}