2. Plan prezentacji
• Czym jest logowanie?
• Logowanie przez Facebook
• Logowanie przez Gmail
www.proskar.pl 2 / 30
3. 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
4. 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
6. 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
7. 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
8. 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
9. 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
10. 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
12. 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
13. 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
14. 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
15. 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
16. 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
17. 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
18. Managed Bean – przykład
implementacji
www.proskar.pl 18 / 30
19. Managed Bean – przykład
implementacji
www.proskar.pl 19 / 30
20. Managed Bean – przykład
implementacji
www.proskar.pl 20 / 30
21. Managed Bean – przykład
implementacji
www.proskar.pl 21 / 30
23. 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
26. 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