View
286
Download
0
Category
Preview:
Citation preview
www.proskar.pl
Logowanie przez Facebook i Gmail
Warsztaty PROSKAR
www.proskar.pl
Plan prezentacji
• Czym jest logowanie?
• Logowanie przez Facebook
• Logowanie przez Gmail
www.proskar.pl 2 / 30
Czym jest logowanie?
• Logowanie jest procesem uwierzytelniania i autoryzacji użytkownika.
• Zazwyczaj polega na podaniu pewnego identyfikatora użytkownika (tak zwanego loginu) oraz hasła.
• Stanowi ono swoisty klucz dostępu do chronionych zasobów systemu.
www.proskar.pl 3 / 30
Logowanie przez Facebook i Gmail
• Wraz z rozwojem Internetu zwiększyła się liczba serwisów wymagających logowania przez co użytkownik musi zapamiętać coraz więcej loginów i haseł.
• Coraz częstszym rozwiązaniem jest umożliwienie użytkownikowi autoryzacji za pomocą popularnych serwisów.
www.proskar.pl 4 / 30
Czas na praktykę…
www.proskar.pl 5 / 30
Import Biblioteki do projektu Maven w NetBeans 8.0
• W celu zaimportowania biblioteki do projektu Maven w NetBeans IDE należy kliknąć prawym przyciskiem myszy na węźle Dependencies w drzewie projektu, a następnie wybrać opcję Add Dependency...
www.proskar.pl 6 / 30
Import Biblioteki do projektu Maven w NetBeans 8.0
• Kolejnym krokiem jest wpisanie w oknie Add Dependency następujących danych:
www.proskar.pl 7 / 30
Import Biblioteki do projektu Maven w NetBeans 8.0
• Po wykonaniu powyższych czynności po rozwinięciu Dependencies wśród pozostałych zależności naszego projektu powinna znajdować się zależność authorization-library-1.0.jar oznaczona ikoną wykrzyknika. Klikamy na zależność PPM i z menu rozwijalnego wybieramy Manually Install Artifact:
www.proskar.pl 8 / 30
Import Biblioteki do projektu Maven w NetBeans 8.0
• W wyświetlonym oknie wybieramy Browse... i wskazujemy lokalizację pliku jar biblioteki a następnie klikamy Install Locally
www.proskar.pl 9 / 30
Import Biblioteki do projektu Maven w NetBeans 8.0
• Po poprawnym wykonaniu importu powinien zniknąć wykrzyknik znajdujący sie przy zależności biblioteki authorization-library-1.0.jar w Dependencies
www.proskar.pl 10 / 30
Logowanie przez Facebook
www.proskar.pl 11 / 30
Konfiguracja
• W celu zapewnienia możliwości logowania przez Facebook niezbędne jest posiadanie konta na tym serwisie.
• Kolejnym krokiem jest utworzenie aplikacji, poprzez którą będzie możliwe logowanie.
• Jest to możliwe za pomocą panelu, który jest dostępny pod adresem:
https://developers.facebook.com/
www.proskar.pl 12 / 30
Konfiguracja – niezbędne dane
Dane wymagane przy konfiguracji logowania to:
1. Identyfikator aplikacji
2. App Secret (wyświetla się po wciśnięciu przycisku "Wyświetl")
3. Site URL - adres strony na którą następuje przekierowanie po pomyślnym zalogowaniu
www.proskar.pl 13 / 30
Konfiguracja projektu
• W celu dostarczenia konfiguracji projektu niezbędny jest plik facebook-auth-config.properties, który powinien być umieszczony w katalogu /src/main/resources.
• Zawartość tego pliku powinna wyglądać następująco:
www.proskar.pl 14 / 30
Implementacja logiki logowania z użyciem JSF 2.2
• Aby podłączyć do aplikacji korzystającej z frameworka JSF 2.2 możliwość logowania przez Facebook należy zaimplementować klasę ManagedBean-a, który dostarcza adres logowania przez Facebook.
• Adres ten można uzyskać z obiektu klasy FacebookAuthenticator. Utworzenie instancji tej klasy wymaga przekazania w konstruktorze obiektów klas implementujących interfejsy: UrlDataProvider, UserDataProvider oraz StateTokenSessionManager.
www.proskar.pl 15 / 30
Implementacja logiki logowania z użyciem JSF 2.2
• Przyjrzyjmy się bliżej wymienionym wcześniej interfejsom. – UrlDataProvider dostarcza metody pobierające
z paska adresu przeglądarki wartości parametrów code oraz state, które ustawiane są po przekierowaniu następującym po pomyślnym zalogowaniu.
– UserDataProvider dostarcza metody, do której przekazywany jest obiekt klasy User zawierający podstawowe dane zalogowanego użytkownika.
– StateTokenSessionManager dostarcza metody, które realizują zapis i odczyt z sesji wartości tokena o określonym kluczu.
www.proskar.pl 16 / 30
Uwaga!
Klasa ManagedBean-a musi zawierać metodę analizującą zawartość paska przeglądarki i w przypadku odnalezienia w nim wartości 'facebook;' wywołującą metodę processLogin() obiektu klasy FacebookAuthenticator.
www.proskar.pl 17 / 30
Managed Bean – przykład implementacji
www.proskar.pl 18 / 30
Managed Bean – przykład implementacji
www.proskar.pl 19 / 30
Managed Bean – przykład implementacji
www.proskar.pl 20 / 30
Managed Bean – przykład implementacji
www.proskar.pl 21 / 30
Logowanie przez Gmail
www.proskar.pl 22 / 30
Konfiguracja
• Konfiguracja przechowywana jest w pliku google-auth-config.properties, który musi być umieszczony w katalogu /src/main/resources.
• Dane potrzebne do konfiguracji logowania otrzymujemy, gdy mamy aktywowane konto Google. Adres pod którym można zarządzać danymi do logowania: https://code.google.com/apis/console/.
www.proskar.pl 23 / 30
Konfiguracja – panel administracyjny
www.proskar.pl 24 / 30
Przykładowa zawartość pliku konfiguracyjnego
www.proskar.pl 25 / 30
Implementacja logiki logowania z użyciem JSF 2.2
• Implementacja logiki logowania przez Gmail jest analogiczna do implementacji logowania przez Facebook.
www.proskar.pl 26 / 30
Przykładowa implementacja
www.proskar.pl 27 / 30
Przykładowa implementacja
www.proskar.pl 28 / 30
Przykładowa implementacja
www.proskar.pl 29 / 30
Dziękuję za uwagę
www.proskar.pl 30 / 30
Recommended