Під час розробки веб-застосунка з використанням Next.js і налаштування його автентифікації за допомогою Azure AD, дуже часто виникає потреба в роботі з користувацькими претензіями. Особливо це стосується отримання доступового токена з Azure AD і подальшого використання його для захисту back-end частини застосунка. В даній статті ми розглянемо процес додавання користувацьких претензій до доступового токена, виданого Azure AD, щоб мати можливість використовувати ці дані у back-end частині нашого застосунка.
1 2 3 4 5 6 7 8 9 |
<p>Почнемо з розуміння того, що таке користувацькі претензії та чому вони важливі для нашого застосунка. Користувацькі претензії - це додаткові дані про користувача, які ми можемо додати до доступового токена. Наприклад, це може бути інформація про відділ, посаду, назву компанії та інше, які ми можемо отримати з Azure Active Directory. Додавання цих претензій до токена дозволить нам використовувати ці дані в back-end частині для подальшої обробки.</p> <p>Для початку роботи з користувацькими претензіями потрібно налаштувати наш додаток в Azure AD. Перейдемо до порталу Azure та виберемо наш застосунок. У налаштуваннях додатку перейдемо до розділу "Enterprise application" і далі в "Single sign-on". Тут ми зможемо налаштувати атрибути та претензії.</p> <p>У вікні редагування атрибутів та претензій ми можемо додати необхідні поля, такі як user.companyname, user.department, user.jobtitle. Додавши їх, збережемо налаштування та перейдемо до наступного кроку.</p> <p>Після додавання претензій до нашого додатку ми можемо отримати доступовий токен з Azure AD, який буде містити ці дані. Проте, є кілька нюансів, які варто врахувати.</p> <p>Важливим кроком є налаштування додатку для прийняття цих користувацьких претензій. Для цього ми можемо використати можливість "acceptMappedClaims" у налаштуваннях додатку, яку можна знайти у розділі "Manage: Manifest". Встановивши цей параметр у значення "true", ми дозволимо нашому додатку приймати ці претензії у токені.</p> <p>Проте, одним із часто зустрічаних помилок при роботі з користувацькими претензіями є помилка AADSTS50146: This application is required to be configured with an application-specific signing key. Ця помилка виникає через те, що для додатку потрібно налаштувати ключ підпису. Це необхідно для забезпечення безпеки та перевірки цілісності токенів.</p> <p>Щоб вирішити цю проблему, нам потрібно створити або додати ключ підпису для нашого додатку в Azure AD. Для цього можна скористатися можливістю "Certificates & secrets", де ми можемо створити новий ключ або завантажити його. Після цього ми повинні налаштувати наш додаток таким чином, щоб він використовував цей ключ для підпису токенів.</p> <p>Після виконання цих кроків наш додаток буде готовий приймати користувацькі претензії в доступовому токені і використовувати їх у back-end частині для подальшої обробки.</p> <p>У цій статті ми розглянули процес додавання користувацьких претензій до доступового токена, виданого Azure AD. Налаштування цього функціоналу може бути складним, але з правильними кроками ми можемо успішно впровадити його в наш застосунок та отримати доступ до додаткової інформації про користувача.</p> |