Twoje Azure AD B2C też wysyła powiadomienia w losowym języku? Pomogę Ci to kontrolować.

Bez zbędnego wstępu przejdźmy od razu do konkretów. O problemie tym opowiadałem kiedyś na Microsoft Azure User Group. Slajdy z tamtego wydarzenia tutaj. Wtedy udało mi się pokazać przykład na żywo.

Po kolei…

Azure AD B2C to usługa katalogowa, która pozwala Ci w łatwy sposób dodać mechanizm logowania do Twojej aplikacji z różnych, popularnych katalogów takich jak LinkedIn, Microsoft IDFacebook, TwiiterAmazon czy zwykły adres email. A co więcej, pozwala zmieniać te katalogi w trakcie życia Twojej aplikacji bez zmiany kodu. Usługa ma o wiele więcej funkcjonalności i zalet ale ten blog nie jest po to, by powielać to, co zostało już napisane. O funkcjach usługi poczytacie tutaj Azure AD B2C.

Wróćmy więc do tematu i zacznijmy od prostego przykładu, który pokazuje jak najszybciej zintegrować aplikację ASP.Net MVC z Azure B2C. Gotowiec tutaj. W treści artykułu znajdziecie też link do gotowej aplikacji.

Otóż Azure AD B2C wysyła różnego rodzaju powiadomienia mailowe w kilku sytuacjach. Przy tworzeniu konta wysyła mail potwierdzający, w ramach procesu zmiany hasła, wysyła mail z linkiem itp. Domyślnie Azure AD B2C przy generowaniu link używa języka, w jakim została zainstalowana przeglądarka, w której działa aplikacja, korzystająca z B2C. Jakkolwiek podejście słuszne i logiczne, nie zawsze prawdziwe:) A co wtedy, jeśli aplikacja jest wielojęzyczna i potrzeba ten język zmienić? Okazuje się, że nad tym możemy panować, Azure AD B2C jest zgodna z standardem OAuth, który przewiduje parametr lang dla potrzeb określenia języka. Więcej o implementacji przepływu autoryzacji o OAuth w ramach B2C można poczytać w materiale i odpowiednich linkach do RFC.

A teraz jak tę możliwość wprowadzić do naszej aplikacji? Wystarczy w sumie mniej niż 4 linie kodu.

  • Odszukujecie w rozwiązaniu katalog App_Start, w nim plik Startup_Auth.cs, w którym odnajdujecie metodę CreateOptionsFromPolicy, a w ciele metody kawałek kodu oznaczony jako Notifications.
  • Teraz, w ramach konfiguracji notyfikacji, musicie dodać metodę obsługi zdarzenia, która zostanie wykonana, w trakcie przekierowania z dostawcy tożsamości (np. Facebook) do Waszego B2C. Jest to jedyny moment, kiedy technicznie możecie wpłynąć na parametry wywołania, jakie wrócą do B2C.
  • Poza dodaniem nazwy metody, która obsłuży zdarzenie, musicie jeszcze dodać samą metodę (w tej samej klasie), ciało tej metody i oczywiście ustawić parametr sterujący językiem. Wystarczy taki kawałek kodu.I już! Czas na testy Waszej aplikacji i sprawdzenie, że mail z powiadomieniem zawsze przyjdzie w wybranym przez Was języku! 
Ten wpis został opublikowany w kategorii tips&tricks i oznaczony tagami , , , , , , . Dodaj zakładkę do bezpośredniego odnośnika.