Strona korzysta z plików cookies w celu realizacji usług i zgodnie z Polityką Plików Cookies.


26.10.2020

Nowa wersja nVision

Można już pobierać nową wersję nVision
26.10.2020

Monitorowanie infrastruktury

Vertiv Environet Alert
23.10.2020

Telefonia w chmurze

NFON Cloudya
23.10.2020

Nowości w EDR

Bitdefender GravityZone
23.10.2020

Wykrywanie anomalii

Flowmon ADS11
23.10.2020

Mobilny monitor

AOC 16T2
22.10.2020

HP Pavilion

HP zaprezentowało nowe laptopy z linii Pavilion.
22.10.2020

Inteligentny monitoring

WD Purple SC QD101
22.10.2020

Przełącznik 2,5GbE

QNAP QSW-1105-5T

Modern Authentication dla deweloperów

Data publikacji: 16-07-2020 Autor: Michał Gajda
Rys. 1. Dodawanie mechanizmu...

Mechanizm nowoczesnego uwierzytelniania nie musi nam się kojarzyć tylko i wyłącznie z aplikacjami Microsoftu. Prezentowane rozwiązanie z powodzeniem może być implementowane w ramach własnych aplikacji tworzonych przez programistów.

 

Nowoczesne uwierzytelnianie (Modern Authentication) jest mechanizmem zapewniającym bezpieczny proces uwierzytelniania się, z wykorzystaniem infrastruktury chmurowej Azure
Active Directory. Bazuje on na bibliotece ADAL, czyli Microsoft Azure Active Directory Authentication Library, która to rozszerza możliwości uwierzytelniania, znane dotychczas z mechanizmu podstawowego uwierzytelniania. Mianowicie oprócz klasycznego sprawdzania loginu i hasła możliwa jest również m.in. weryfikacja dodatkowego składnika, czyli Multi-Factor Authentication. Dodatkowo w procesie logowania możliwe jest zastosowanie dostępu warunkowego, czyli zapewnienie uniwersalnego mechanizmu pozwalającego na weryfikowanie okoliczności, w jakich użytkownik próbuje uwierzytelnić się do aplikacji.

 

Niestety, aby możliwe było wykorzystywanie omawianego mechanizmu nowoczesnego uwierzytelniania, konieczne jest zapewnienie odpowiedniego wsparcia aplikacji końcowych. Bez zapewnienia wspomnianej kompatybilności aplikacja końcowa nie będzie mogła wystawić żądania tokenu użytkownika, a co za tym idzie – odpowiednio go odebrać i zinterpretować w celu uwierzytelnienia użytkownika. W niniejszym artykule zostanie zaprezentowana jedna z metod, umożliwiająca zaimplementowanie nowoczesnego uwierzytelniania podczas tworzenia przykładowej aplikacji webowej.

 

> PRZYGOTOWANIE APLIKACJI

 

Do zaimplementowania mechanizmów nowoczesnego uwierzytelniania można wykorzystać jeden z otwartych standardów – na przykład OpenID Connect. Jest on na tyle powszechny, iż można go wykorzystać dla większości popularnych platform czy języków programistycznych. Może być on z powodzeniem stosowany zarówno dla aplikacji webowych, jak i dla aplikacji mobilnych czy desktopowych. W naszym testowym środowisku wykorzystana zostanie aplikacja webowa ASP.NET, która będzie opublikowana w ramach usługi App Services platformy obliczeniowej Azure.

 

Podstawowym elementem, jaki aplikacja końcowa musi wspierać, jest zapewnienie obsługi wcześniej wspomnianego już standardu OpenID Connect. Dlatego dla projektu naszej Web aplikacji, należy dołączyć odpowiednie biblioteki wspierające owo rozwiązanie. Najprostszym sposobem na dokonanie tego jest założenie nowego projektu, gdzie w ramach kreatora tworzenia należy wprowadzić odpowiednie parametry. Mianowicie w kroku definiowania mechanizmów uwierzytelniania wystarczy zmienić wspomniany mechanizm, na przykład na wartość Chmura – pojedyncza organizacja (Cloud – Single Organization), który został zaprezentowany na rys. 1. Opcjonalnie jeżeli chcemy, aby aplikacja mogła dodatkowo wykonywać zapytania w katalogu Azure AD, zaznaczamy opcję Odczyt danych katalogu (Read directory data). Dzięki wspomnianej opcji zostaną nadane dodatkowe uprawnienia, dzięki którym za pośrednictwem interfejsu Graph API aplikacja będzie mogła generować zapytania do odczytywania danych z katalogu Azure AD.

 

W ramach wspomnianego kreatora konieczne jest wprowadzenie nazwy domeny naszej dzierżawy usługi Azure AD. Dodatkowo należy dokonać pomyślnego uwierzytelniania się kontem, pozwalającym na automatyczne przygotowanie niezbędnych komponentów w usłudze Azure AD. W zależności od zastosowanej konfiguracji usługi Azure AD może to być nawet konto zwykłego użytkownika, o ile zezwoliliśmy mu na rejestrowanie własnych aplikacji – rys. 2. W przeciwnym wypadku do rejestracji aplikacji będą wymagane poświadczenia administratora usługi Azure AD. Tak utworzony projekt aplikacji będzie posiadał automatycznie zawarte wszystkie niezbędne składniki, zapewniające pełne wsparcie dla mechanizmu nowoczesnego uwierzytelniania. Dodatkowo również automatycznie zostanie zarejestrowana i odpowiednio skonfigurowana aplikacja po stronie chmurowej usługi Azure AD.


> RĘCZNA KONFIGURACJA

 

Nie zawsze jednak są tak komfortowe warunki, by tworzyć projekt aplikacji od początku. Częściej pojawia się sytuacja, gdy musimy zapewnić nowy mechanizm uwierzytelniania dla istniejących już projektów. Dlatego całą wcześniejszą procedurę możemy również z powodzeniem zrealizować krok po kroku ręcznie. Do projektu aplikacji należy dołączyć następujące komponenty:

 

  • Microsoft.Owin.Security.OpenIdConnect,
  • Microsoft.Owin.Security.Cookies,
  • Microsoft.Owin.Host.SystemWeb,
  • Microsoft.IdentityModel.Protocol.Extensions.

 

[...]

 

Autor ma wieloletnie doświadczenie w administracji oraz implementowaniu nowych technologii w infrastrukturze serwerowej. Pasjonat technologii Microsoft. Posiada tytuł MVP Cloud and Datacenter Management. Autor webcastów, książek oraz publikacji w czasopismach i serwisach branżowych.

Artykuł pochodzi z miesięcznika: IT Professional

Pełna treść artykułu jest dostępna w papierowym wydaniu pisma.

.

Transmisje online zapewnia: StreamOnline

All rights reserved © 2019 Presscom / Miesięcznik "IT Professional"