Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Learn how to build a native app signing-in users authenticated by AD FS 2019 and acquiring tokens using MSAL library to call web APIs.
Перед чтением этой статьи необходимо ознакомиться с понятиями AD FS и потоком предоставления кода авторизации.
Overview
В этом потоке вы добавляете аутентификацию в собственное приложение (общедоступный клиент), которое, следовательно, может аутентифицировать пользователей и вызывать веб-API. To call a Web API from a Native App that signs in users, you can use MSAL's AcquireTokenInteractive token acquisition method. Чтобы реализовать это взаимодействие, MSAL использует веб-браузер.
To better understand how to configure a Native App in AD FS to acquire access token interactively, let's use a sample available here and walkthrough the app registration and code configuration steps.
Pre-requisites
- Клиентские средства GitHub
- AD FS 2019 или более поздней версии, настроенные и запущенные
- Visual Studio 2013 или более поздней версии
Регистрация приложений в AD FS
В этом разделе показано, как зарегистрировать нативное приложение в качестве общедоступного клиента и веб-API в качестве доверяющей стороны (RP) в AD FS.
В ad FS Management щелкните правой кнопкой мыши группы приложений и выберите "Добавить группу приложений".
On the Application Group Wizard, for the Name enter NativeAppToWebApi and under Client-Server applications select the Native application accessing a Web API template. Click Next.
Copy the Client Identifier value. It will be used later as the value for ClientId in the application's App.config file. Enter the following for Redirect URI:https://ToDoListClient. Click Add. Click Next.
On the Configure Web API screen, enter the Identifier:https://localhost:44321/. Click Add. Click Next. This value will be used later in the application's App.config and Web.config files.
On the Apply Access Control Policy screen, select Permit everyone and click Next.
On the Configure Application Permissions screen, make sure openid is selected and click Next.
On the Summary screen, click Next.
On the Complete screen, click Close.
In AD FS Management, click on Application Groups and select NativeAppToWebApi application group. Right-click and select Properties.
На экране свойств NativeAppToWebApi выберите NativeAppToWebApi — веб-API в веб-API и нажмите кнопку "Изменить".
На экране "Свойства веб-API" в NativeAppToWebApi выберите вкладку "Правила преобразования выдачи" и нажмите кнопку "Добавить правило".
В мастере добавления правила преобразования утверждения выберите «Преобразовать входящее утверждение» из шаблона правила утверждения: раскрывающегося списка и нажмите «Далее».
Enter NameID in Claim rule name: field. Select Name for Incoming claim type:, Name ID for Outgoing claim type: and Common Name for Outgoing name ID format:. click Finish.
Нажмите кнопку "ОК" на экране "Свойства веб-API NativeAppToWebApi", а затем на экране "Свойства NativeAppToWebApi".
Code Configuration
В этом разделе показано, как настроить нативное приложение для входа пользователя и получения токена для вызова веб-API.
Download the sample from here
Открытие примера с помощью Visual Studio
Откройте файл app.config. Измените следующее:
ida:Authority — ввод ч
ttps://[your AD FS hostname]/adfs
ida:ClientId - enter the Client Identifier value from #3 in App Registration in AD FS section above.
ida:RedirectUri - enter the Redirect URI value from #3 in App Registration in AD FS section above.
todo:TodoListResourceId – enter the Identifier value from #4 in App Registration in AD FS section above
ida: todo:TodoListBaseAddress - enter the Identifier value from #4 in App Registration in AD FS section above.
Откройте файл web.config. Измените следующее:
ida:Audience - enter the Identifier value from #4 in App Registration in AD FS section above
ida: AdfsMetadataEndpoint – вход
https://[your AD FS hostname]/federationmetadata/2007-06/federationmetadata.xml
Тестирование примера
В этом разделе показано, как протестировать пример, настроенный выше.
После внесения изменений в код пересоберите решение.
В Visual Studio щелкните правой кнопкой мыши решение и выберите " Задать начальные проекты" ...
On the Properties pages make sure Action is set to Start for each of the Projects
В верхней части Visual Studio щелкните зеленую стрелку.
On the Native App's Main screen, click on Sign In.
Если экран собственного приложения не отображается, выполните поиск и удаление *msalcache.bin
файлов из папки, в которой репозиторий проекта сохраняется в системе.
Вы будете перенаправляться на страницу входа AD FS. Войдите в систему.
После входа в систему, введите текст Построить собственное приложение для Web API в создайте элемент списка дел. Click Add item. Это вызовет службу списков Список дел (веб-API) и добавит элемент в кэш.