30
www.proskar.pl Logowanie przez Facebook i Gmail Warsztaty PROSKAR www.proskar.pl

Logowanie przez facebook i gmail w java

  • Upload
    proskar

  • View
    286

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Logowanie przez facebook i gmail w java

www.proskar.pl

Logowanie przez Facebook i Gmail

Warsztaty PROSKAR

www.proskar.pl

Page 2: Logowanie przez facebook i gmail w java

Plan prezentacji

• Czym jest logowanie?

• Logowanie przez Facebook

• Logowanie przez Gmail

www.proskar.pl 2 / 30

Page 3: Logowanie przez facebook i gmail w java

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

Page 4: Logowanie przez facebook i gmail w java

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

Page 5: Logowanie przez facebook i gmail w java

Czas na praktykę…

www.proskar.pl 5 / 30

Page 6: Logowanie przez facebook i gmail w java

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

Page 7: Logowanie przez facebook i gmail w java

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

Page 8: Logowanie przez facebook i gmail w java

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

Page 9: Logowanie przez facebook i gmail w java

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

Page 10: Logowanie przez facebook i gmail w java

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

Page 11: Logowanie przez facebook i gmail w java

Logowanie przez Facebook

www.proskar.pl 11 / 30

Page 12: Logowanie przez facebook i gmail w java

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

Page 13: Logowanie przez facebook i gmail w java

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

Page 14: Logowanie przez facebook i gmail w java

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

Page 15: Logowanie przez facebook i gmail w java

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

Page 16: Logowanie przez facebook i gmail w java

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

Page 17: Logowanie przez facebook i gmail w java

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

Page 18: Logowanie przez facebook i gmail w java

Managed Bean – przykład implementacji

www.proskar.pl 18 / 30

Page 19: Logowanie przez facebook i gmail w java

Managed Bean – przykład implementacji

www.proskar.pl 19 / 30

Page 20: Logowanie przez facebook i gmail w java

Managed Bean – przykład implementacji

www.proskar.pl 20 / 30

Page 21: Logowanie przez facebook i gmail w java

Managed Bean – przykład implementacji

www.proskar.pl 21 / 30

Page 22: Logowanie przez facebook i gmail w java

Logowanie przez Gmail

www.proskar.pl 22 / 30

Page 23: Logowanie przez facebook i gmail w java

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

Page 24: Logowanie przez facebook i gmail w java

Konfiguracja – panel administracyjny

www.proskar.pl 24 / 30

Page 25: Logowanie przez facebook i gmail w java

Przykładowa zawartość pliku konfiguracyjnego

www.proskar.pl 25 / 30

Page 26: Logowanie przez facebook i gmail w java

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

Page 27: Logowanie przez facebook i gmail w java

Przykładowa implementacja

www.proskar.pl 27 / 30

Page 28: Logowanie przez facebook i gmail w java

Przykładowa implementacja

www.proskar.pl 28 / 30

Page 29: Logowanie przez facebook i gmail w java

Przykładowa implementacja

www.proskar.pl 29 / 30

Page 30: Logowanie przez facebook i gmail w java

Dziękuję za uwagę

www.proskar.pl 30 / 30