SlideShare a Scribd company logo
Uwierzytelnianie dwuetapowe (2FA) w
Drupalu
Bartek Filipiuk
kariera.droptica.pl
Poznaj nas:
● O firmie
● Ścieżka kariery
● Szkolenia i rozwój
● Benefity
● Praca zdalna
● Biura
● Projekty i klienci
● Po pracy
● Hardware i software
● Typowy dzień pracy
https://kariera.droptica.pl Social Media: #drupaldaypl
Oferty pracy
● Frontend Developer HTML, CSS
○ 5 000 - 8 500 zł netto (B2B)
● Junior PHP Developer
○ 5 000 - 8 500 zł netto (B2B)
● PHP Fullstack Dev - Laravel lub Symfony (Mid/Senior/TechLead)
○ 9 500 - 16 500 zł netto (B2B)
● Drupal Developer (Mid/Senior/TechLead)
○ 10 500 - 17 500 zł netto (B2B)
Agenda
1. Co to jest weryfikacja dwuetapowa?
2. Implementacja weryfikacji dwuetapowej w Drupalu
Instalacja i konfiguracja modułów
3. Gotowe pluginy do uwierzytelniania dwuetapowego
4. Własny plugin do uwierzytelniania
Co to jest?
Uwierzytelnianie dwuetapowe to proces uwierzytelniania użytkownika podczas logowania, który składa
się z dwóch metod kontroli.
Standardowe logowanie.
Plus dodatkowy etap.
Po co?
Poprawa bezpieczeństwa naszych danych w przypadku gdy np. Nasze hasło wyciekło z bazy
Implementacja
Potrzebne moduły
● Two-factor Authentication (TFA) - główna funkcjonalność,
● Key - moduł do zarządzania kluczami w Drupalu,
● Encrypt - pozwala innym modułom na szyfrowanie i odszyfrowywanie danych,
● Real AES lub inny moduł dodający metodę szyfrowania (lista tych modułów wymieniona jest na
stronie modułu Encrypt),
● GA_login - integracja z Google Authenticator, aplikacją na telefon generująca kody.
Implementacja
Instalacja modułów, najlepiej za pomocą composera, potrzebne dwie komendy
composer require drupal/tfa
composer require drupal/real_aes
Włączyć moduły.
Implementacja
Klucz szyfrowania, moduł Keys.
Konfiguracja -> System -> Klucze
Jak wygenerować klucz?
openssl rand -base64 32 > tfa.key
Implementacja
Profil szyfrowania, moduł Encrypt.
Konfiguracja -> System -> Encryption profiles
Implementacja
Konfiguracja modułu TFA
Ustawienia TFA + testy
Podmiana bloku user login, zmiana logiki logowania
1. Użytkownik wpisuje swoje dane logowania (login i hasło) w formularzu i zatwierdza.
2. Jeżeli dane są poprawne, Drupal tworzy sesję użytkownika, którego identyfikuje jako uwierzytelniony.
3. Moduł TFA implementuje hook_user_login.
4. TFA sprawdza, czy zalogowany użytkownik powinien użyć drugiej metody weryfikacji. Jeżeli tak - następuje wylogowanie i
przekierowanie na drugą metodę weryfikacji.
5. Następuje proces weryfikacji np. poprzez wpisanie np. kodu.
6. Jeżeli kod jest poprawny, następuje ponowne zalogowanie użytkownika.
Implementacja
Własny plugin
Dziękujemy za
wasz cenny czas!
Imię i Nazwisko autora
Bartek Filipiuk, bartlomiej.filipiuk@droptica.pl
Dane Kontaktowe
WWW.DROPTICA.COM

More Related Content

What's hot

Podstawy programowania w Drupalu - Drupal idzie na studia - Jarosław Sobiecki
Podstawy programowania w Drupalu - Drupal idzie na studia - Jarosław SobieckiPodstawy programowania w Drupalu - Drupal idzie na studia - Jarosław Sobiecki
Podstawy programowania w Drupalu - Drupal idzie na studia - Jarosław Sobiecki
Grzegorz Bartman
 
Drupal Rules - Drupal Idzie Na Studia - Jarosław Sobiecki
Drupal Rules - Drupal Idzie Na Studia - Jarosław SobieckiDrupal Rules - Drupal Idzie Na Studia - Jarosław Sobiecki
Drupal Rules - Drupal Idzie Na Studia - Jarosław Sobiecki
Grzegorz Bartman
 
Bazy danych w Drupalu 7. Przygotowanie tabeli przechowującej wpisy chatu
Bazy danych w Drupalu 7. Przygotowanie tabeli przechowującej wpisy chatuBazy danych w Drupalu 7. Przygotowanie tabeli przechowującej wpisy chatu
Bazy danych w Drupalu 7. Przygotowanie tabeli przechowującej wpisy chatu
Grzegorz Bartman
 
DrupalDay Podstawy Drupal 8
DrupalDay Podstawy Drupal 8DrupalDay Podstawy Drupal 8
DrupalDay Podstawy Drupal 8
Grzegorz Bartman
 
Podstawy SEO w Drupalu 7 - Jarosław Sobiecki
Podstawy SEO w Drupalu 7 - Jarosław SobieckiPodstawy SEO w Drupalu 7 - Jarosław Sobiecki
Podstawy SEO w Drupalu 7 - Jarosław Sobiecki
Grzegorz Bartman
 
Docker na MacOS przy wsparciu maszyny wirtualnej z Linuksem [PL]
Docker na MacOS przy wsparciu maszyny wirtualnej z Linuksem [PL]Docker na MacOS przy wsparciu maszyny wirtualnej z Linuksem [PL]
Docker na MacOS przy wsparciu maszyny wirtualnej z Linuksem [PL]
Droptica
 
Struktura i własności systemu zarządzania treścią Drupal
Struktura i własności systemu zarządzania treścią DrupalStruktura i własności systemu zarządzania treścią Drupal
Struktura i własności systemu zarządzania treścią Drupal
Grzegorz Bartman
 
Encje w drupalu - DrupalCamp Wroclaw 2015
Encje w drupalu - DrupalCamp Wroclaw 2015Encje w drupalu - DrupalCamp Wroclaw 2015
Encje w drupalu - DrupalCamp Wroclaw 2015
Grzegorz Bartman
 
DrupalDay podstawy systemu Drupal (Wersja skrócona)
DrupalDay podstawy systemu Drupal (Wersja skrócona)DrupalDay podstawy systemu Drupal (Wersja skrócona)
DrupalDay podstawy systemu Drupal (Wersja skrócona)
Grzegorz Bartman
 
Automatyzacja utrzymania jakości w środowisku PHP
Automatyzacja utrzymania jakości w środowisku PHPAutomatyzacja utrzymania jakości w środowisku PHP
Automatyzacja utrzymania jakości w środowisku PHP
Laravel Poland MeetUp
 
Websockety w PHP
Websockety w PHPWebsockety w PHP
Websockety w PHP
The Software House
 
Code driven development w Drupalu 7 | DrupalCamp Wrocław 2014
Code driven development w Drupalu 7 | DrupalCamp Wrocław 2014Code driven development w Drupalu 7 | DrupalCamp Wrocław 2014
Code driven development w Drupalu 7 | DrupalCamp Wrocław 2014
Grzegorz Bartman
 
The story of GOG.com Cache
The story of GOG.com Cache The story of GOG.com Cache
The story of GOG.com Cache
Maciej Włodarkiewicz
 
Dlaczego Twoja kolejna aplikacja powinna bazować na platformie Drupal?
Dlaczego Twoja kolejna aplikacja powinna bazować na platformie Drupal?Dlaczego Twoja kolejna aplikacja powinna bazować na platformie Drupal?
Dlaczego Twoja kolejna aplikacja powinna bazować na platformie Drupal?
Grzegorz Bartman
 
DrupalDay & Drupal Global Training Days - Wprowadzenie do Drupala
DrupalDay & Drupal Global Training Days - Wprowadzenie do DrupalaDrupalDay & Drupal Global Training Days - Wprowadzenie do Drupala
DrupalDay & Drupal Global Training Days - Wprowadzenie do Drupala
Grzegorz Bartman
 
Swoole w PHP. Czy to ma sens?
Swoole w PHP. Czy to ma sens?Swoole w PHP. Czy to ma sens?
Swoole w PHP. Czy to ma sens?
The Software House
 
Wykorzystanie technologii webowych w aplikacjach desktopowych (1)
Wykorzystanie technologii webowych w aplikacjach desktopowych  (1)Wykorzystanie technologii webowych w aplikacjach desktopowych  (1)
Wykorzystanie technologii webowych w aplikacjach desktopowych (1)
GOG.com dev team
 
multi-tier cache at gog.com - 4developers
multi-tier cache at gog.com -  4developersmulti-tier cache at gog.com -  4developers
multi-tier cache at gog.com - 4developers
Maciej Włodarkiewicz
 
Środowisko PWA
Środowisko PWAŚrodowisko PWA
JavaScript, Moduły
JavaScript, ModułyJavaScript, Moduły
JavaScript, Moduły
Mariusz Nowak
 

What's hot (20)

Podstawy programowania w Drupalu - Drupal idzie na studia - Jarosław Sobiecki
Podstawy programowania w Drupalu - Drupal idzie na studia - Jarosław SobieckiPodstawy programowania w Drupalu - Drupal idzie na studia - Jarosław Sobiecki
Podstawy programowania w Drupalu - Drupal idzie na studia - Jarosław Sobiecki
 
Drupal Rules - Drupal Idzie Na Studia - Jarosław Sobiecki
Drupal Rules - Drupal Idzie Na Studia - Jarosław SobieckiDrupal Rules - Drupal Idzie Na Studia - Jarosław Sobiecki
Drupal Rules - Drupal Idzie Na Studia - Jarosław Sobiecki
 
Bazy danych w Drupalu 7. Przygotowanie tabeli przechowującej wpisy chatu
Bazy danych w Drupalu 7. Przygotowanie tabeli przechowującej wpisy chatuBazy danych w Drupalu 7. Przygotowanie tabeli przechowującej wpisy chatu
Bazy danych w Drupalu 7. Przygotowanie tabeli przechowującej wpisy chatu
 
DrupalDay Podstawy Drupal 8
DrupalDay Podstawy Drupal 8DrupalDay Podstawy Drupal 8
DrupalDay Podstawy Drupal 8
 
Podstawy SEO w Drupalu 7 - Jarosław Sobiecki
Podstawy SEO w Drupalu 7 - Jarosław SobieckiPodstawy SEO w Drupalu 7 - Jarosław Sobiecki
Podstawy SEO w Drupalu 7 - Jarosław Sobiecki
 
Docker na MacOS przy wsparciu maszyny wirtualnej z Linuksem [PL]
Docker na MacOS przy wsparciu maszyny wirtualnej z Linuksem [PL]Docker na MacOS przy wsparciu maszyny wirtualnej z Linuksem [PL]
Docker na MacOS przy wsparciu maszyny wirtualnej z Linuksem [PL]
 
Struktura i własności systemu zarządzania treścią Drupal
Struktura i własności systemu zarządzania treścią DrupalStruktura i własności systemu zarządzania treścią Drupal
Struktura i własności systemu zarządzania treścią Drupal
 
Encje w drupalu - DrupalCamp Wroclaw 2015
Encje w drupalu - DrupalCamp Wroclaw 2015Encje w drupalu - DrupalCamp Wroclaw 2015
Encje w drupalu - DrupalCamp Wroclaw 2015
 
DrupalDay podstawy systemu Drupal (Wersja skrócona)
DrupalDay podstawy systemu Drupal (Wersja skrócona)DrupalDay podstawy systemu Drupal (Wersja skrócona)
DrupalDay podstawy systemu Drupal (Wersja skrócona)
 
Automatyzacja utrzymania jakości w środowisku PHP
Automatyzacja utrzymania jakości w środowisku PHPAutomatyzacja utrzymania jakości w środowisku PHP
Automatyzacja utrzymania jakości w środowisku PHP
 
Websockety w PHP
Websockety w PHPWebsockety w PHP
Websockety w PHP
 
Code driven development w Drupalu 7 | DrupalCamp Wrocław 2014
Code driven development w Drupalu 7 | DrupalCamp Wrocław 2014Code driven development w Drupalu 7 | DrupalCamp Wrocław 2014
Code driven development w Drupalu 7 | DrupalCamp Wrocław 2014
 
The story of GOG.com Cache
The story of GOG.com Cache The story of GOG.com Cache
The story of GOG.com Cache
 
Dlaczego Twoja kolejna aplikacja powinna bazować na platformie Drupal?
Dlaczego Twoja kolejna aplikacja powinna bazować na platformie Drupal?Dlaczego Twoja kolejna aplikacja powinna bazować na platformie Drupal?
Dlaczego Twoja kolejna aplikacja powinna bazować na platformie Drupal?
 
DrupalDay & Drupal Global Training Days - Wprowadzenie do Drupala
DrupalDay & Drupal Global Training Days - Wprowadzenie do DrupalaDrupalDay & Drupal Global Training Days - Wprowadzenie do Drupala
DrupalDay & Drupal Global Training Days - Wprowadzenie do Drupala
 
Swoole w PHP. Czy to ma sens?
Swoole w PHP. Czy to ma sens?Swoole w PHP. Czy to ma sens?
Swoole w PHP. Czy to ma sens?
 
Wykorzystanie technologii webowych w aplikacjach desktopowych (1)
Wykorzystanie technologii webowych w aplikacjach desktopowych  (1)Wykorzystanie technologii webowych w aplikacjach desktopowych  (1)
Wykorzystanie technologii webowych w aplikacjach desktopowych (1)
 
multi-tier cache at gog.com - 4developers
multi-tier cache at gog.com -  4developersmulti-tier cache at gog.com -  4developers
multi-tier cache at gog.com - 4developers
 
Środowisko PWA
Środowisko PWAŚrodowisko PWA
Środowisko PWA
 
JavaScript, Moduły
JavaScript, ModułyJavaScript, Moduły
JavaScript, Moduły
 

Similar to Uwierzytelnianie dwuetapowe (2FA) w Drupalu [PL]

Co Ty wiesz o Magento?
Co Ty wiesz o Magento?Co Ty wiesz o Magento?
Co Ty wiesz o Magento?
White Ducky
 
Xdebug – debugowanie i profilowanie aplikacji PHP
Xdebug – debugowanie i profilowanie aplikacji PHPXdebug – debugowanie i profilowanie aplikacji PHP
Xdebug – debugowanie i profilowanie aplikacji PHP
3camp
 
university day 1
university day 1university day 1
university day 1
Sławomir Borowiec
 
Oswoić Google Tag Managera
Oswoić Google Tag ManageraOswoić Google Tag Managera
Oswoić Google Tag Managera
Karol Dziedzic
 
Jak stworzyć udany system informatyczny
Jak stworzyć udany system informatycznyJak stworzyć udany system informatyczny
Jak stworzyć udany system informatyczny
qbeuek
 
Moduł dla Drupal 8 - DrupalDay Warszawa 2016-12-03
Moduł dla Drupal 8  - DrupalDay Warszawa 2016-12-03Moduł dla Drupal 8  - DrupalDay Warszawa 2016-12-03
Moduł dla Drupal 8 - DrupalDay Warszawa 2016-12-03
Droptica
 
Custom policies w Azure AD B2C jak je tworzyć, żeby nie zwariować?
Custom policies w Azure AD B2C jak je tworzyć, żeby nie zwariować?Custom policies w Azure AD B2C jak je tworzyć, żeby nie zwariować?
Custom policies w Azure AD B2C jak je tworzyć, żeby nie zwariować?
Piotr Grabski-Gradziński
 
Podstawy testowania oprogramowania INCO 2023.pptx
Podstawy testowania oprogramowania INCO 2023.pptxPodstawy testowania oprogramowania INCO 2023.pptx
Podstawy testowania oprogramowania INCO 2023.pptx
Katarzyna Javaheri-Szpak
 
"Administrator z przypadku" - Jak działa SQL Server i jak o niego dbać
"Administrator z przypadku" - Jak działa SQL Server i jak o niego dbać"Administrator z przypadku" - Jak działa SQL Server i jak o niego dbać
"Administrator z przypadku" - Jak działa SQL Server i jak o niego dbać
Bartosz Ratajczyk
 
Zbyszek Rzepka: GameDev od zaplecza
Zbyszek Rzepka: GameDev od zapleczaZbyszek Rzepka: GameDev od zaplecza
Zbyszek Rzepka: GameDev od zaplecza
GameDesire Academy
 
Macopedia zaprasza do współpracy!
Macopedia zaprasza do współpracy! Macopedia zaprasza do współpracy!
Macopedia zaprasza do współpracy!
Macopedia
 
Scrum i Open Source - Macopedia sp. z o.o.
Scrum i Open Source - Macopedia sp. z o.o.Scrum i Open Source - Macopedia sp. z o.o.
Scrum i Open Source - Macopedia sp. z o.o.
Magdalena Far
 
HYC - Angular stań się kanciastym
HYC - Angular stań się kanciastymHYC - Angular stań się kanciastym
HYC - Angular stań się kanciastym
Dariusz Jagieło
 
Headless CMS w PZPN na bazie Drupala [PL]
Headless CMS w PZPN na bazie Drupala [PL]Headless CMS w PZPN na bazie Drupala [PL]
Headless CMS w PZPN na bazie Drupala [PL]
Droptica
 
Ciągłe Dostarcznie - Wprowadzenie
Ciągłe Dostarcznie - WprowadzenieCiągłe Dostarcznie - Wprowadzenie
Ciągłe Dostarcznie - Wprowadzenie
Artur Radosz
 
Programowanie Komponentowe: #C Wprowadzenie do OSGi
Programowanie Komponentowe: #C Wprowadzenie do OSGiProgramowanie Komponentowe: #C Wprowadzenie do OSGi
Programowanie Komponentowe: #C Wprowadzenie do OSGiMikołaj Olszewski
 
Poznajmy się!
Poznajmy się!Poznajmy się!
Poznajmy się!
Redexperts
 
Feature flags na ratunek projektu w JavaScript
Feature flags na ratunek projektu w JavaScriptFeature flags na ratunek projektu w JavaScript
Feature flags na ratunek projektu w JavaScript
The Software House
 
Podstawy ETL z SSIS
Podstawy ETL z SSISPodstawy ETL z SSIS
Podstawy ETL z SSIS
Bartosz Ratajczyk
 
Testowanie na 101 sposobów
Testowanie na 101 sposobówTestowanie na 101 sposobów
Testowanie na 101 sposobów
Katarzyna Javaheri-Szpak
 

Similar to Uwierzytelnianie dwuetapowe (2FA) w Drupalu [PL] (20)

Co Ty wiesz o Magento?
Co Ty wiesz o Magento?Co Ty wiesz o Magento?
Co Ty wiesz o Magento?
 
Xdebug – debugowanie i profilowanie aplikacji PHP
Xdebug – debugowanie i profilowanie aplikacji PHPXdebug – debugowanie i profilowanie aplikacji PHP
Xdebug – debugowanie i profilowanie aplikacji PHP
 
university day 1
university day 1university day 1
university day 1
 
Oswoić Google Tag Managera
Oswoić Google Tag ManageraOswoić Google Tag Managera
Oswoić Google Tag Managera
 
Jak stworzyć udany system informatyczny
Jak stworzyć udany system informatycznyJak stworzyć udany system informatyczny
Jak stworzyć udany system informatyczny
 
Moduł dla Drupal 8 - DrupalDay Warszawa 2016-12-03
Moduł dla Drupal 8  - DrupalDay Warszawa 2016-12-03Moduł dla Drupal 8  - DrupalDay Warszawa 2016-12-03
Moduł dla Drupal 8 - DrupalDay Warszawa 2016-12-03
 
Custom policies w Azure AD B2C jak je tworzyć, żeby nie zwariować?
Custom policies w Azure AD B2C jak je tworzyć, żeby nie zwariować?Custom policies w Azure AD B2C jak je tworzyć, żeby nie zwariować?
Custom policies w Azure AD B2C jak je tworzyć, żeby nie zwariować?
 
Podstawy testowania oprogramowania INCO 2023.pptx
Podstawy testowania oprogramowania INCO 2023.pptxPodstawy testowania oprogramowania INCO 2023.pptx
Podstawy testowania oprogramowania INCO 2023.pptx
 
"Administrator z przypadku" - Jak działa SQL Server i jak o niego dbać
"Administrator z przypadku" - Jak działa SQL Server i jak o niego dbać"Administrator z przypadku" - Jak działa SQL Server i jak o niego dbać
"Administrator z przypadku" - Jak działa SQL Server i jak o niego dbać
 
Zbyszek Rzepka: GameDev od zaplecza
Zbyszek Rzepka: GameDev od zapleczaZbyszek Rzepka: GameDev od zaplecza
Zbyszek Rzepka: GameDev od zaplecza
 
Macopedia zaprasza do współpracy!
Macopedia zaprasza do współpracy! Macopedia zaprasza do współpracy!
Macopedia zaprasza do współpracy!
 
Scrum i Open Source - Macopedia sp. z o.o.
Scrum i Open Source - Macopedia sp. z o.o.Scrum i Open Source - Macopedia sp. z o.o.
Scrum i Open Source - Macopedia sp. z o.o.
 
HYC - Angular stań się kanciastym
HYC - Angular stań się kanciastymHYC - Angular stań się kanciastym
HYC - Angular stań się kanciastym
 
Headless CMS w PZPN na bazie Drupala [PL]
Headless CMS w PZPN na bazie Drupala [PL]Headless CMS w PZPN na bazie Drupala [PL]
Headless CMS w PZPN na bazie Drupala [PL]
 
Ciągłe Dostarcznie - Wprowadzenie
Ciągłe Dostarcznie - WprowadzenieCiągłe Dostarcznie - Wprowadzenie
Ciągłe Dostarcznie - Wprowadzenie
 
Programowanie Komponentowe: #C Wprowadzenie do OSGi
Programowanie Komponentowe: #C Wprowadzenie do OSGiProgramowanie Komponentowe: #C Wprowadzenie do OSGi
Programowanie Komponentowe: #C Wprowadzenie do OSGi
 
Poznajmy się!
Poznajmy się!Poznajmy się!
Poznajmy się!
 
Feature flags na ratunek projektu w JavaScript
Feature flags na ratunek projektu w JavaScriptFeature flags na ratunek projektu w JavaScript
Feature flags na ratunek projektu w JavaScript
 
Podstawy ETL z SSIS
Podstawy ETL z SSISPodstawy ETL z SSIS
Podstawy ETL z SSIS
 
Testowanie na 101 sposobów
Testowanie na 101 sposobówTestowanie na 101 sposobów
Testowanie na 101 sposobów
 

More from Droptica

Business development w praktyce - jak skutecznie sprzedawać software [PL]
Business development w praktyce - jak skutecznie sprzedawać software [PL]Business development w praktyce - jak skutecznie sprzedawać software [PL]
Business development w praktyce - jak skutecznie sprzedawać software [PL]
Droptica
 
PHPUnit - jak zacząć pisać testy automatyczne [PL]
PHPUnit - jak zacząć pisać testy automatyczne [PL]PHPUnit - jak zacząć pisać testy automatyczne [PL]
PHPUnit - jak zacząć pisać testy automatyczne [PL]
Droptica
 
Komunikacja w zespole projektowym [PL]
Komunikacja w zespole projektowym [PL]Komunikacja w zespole projektowym [PL]
Komunikacja w zespole projektowym [PL]
Droptica
 
Od środowiska developerskiego do produkcji [PL]
Od środowiska developerskiego do produkcji [PL]Od środowiska developerskiego do produkcji [PL]
Od środowiska developerskiego do produkcji [PL]
Droptica
 
Skuteczna komunikacja w projekcie informatycznym [PL]
Skuteczna komunikacja w projekcie informatycznym [PL]Skuteczna komunikacja w projekcie informatycznym [PL]
Skuteczna komunikacja w projekcie informatycznym [PL]
Droptica
 
Droopler: instalacja z użyciem composer i przykład budowy prostej strony firm...
Droopler: instalacja z użyciem composer i przykład budowy prostej strony firm...Droopler: instalacja z użyciem composer i przykład budowy prostej strony firm...
Droopler: instalacja z użyciem composer i przykład budowy prostej strony firm...
Droptica
 
Rest API w Drupalu - działanie i definicja własnych endpointów [PL]
Rest API w Drupalu - działanie i definicja własnych endpointów [PL]Rest API w Drupalu - działanie i definicja własnych endpointów [PL]
Rest API w Drupalu - działanie i definicja własnych endpointów [PL]
Droptica
 
Open social - przegląd możliwości dystrybucji [PL]
Open social - przegląd możliwości dystrybucji [PL]Open social - przegląd możliwości dystrybucji [PL]
Open social - przegląd możliwości dystrybucji [PL]
Droptica
 
Mapy i geolokalizacja w Drupalu [PL]
Mapy i geolokalizacja w Drupalu [PL]Mapy i geolokalizacja w Drupalu [PL]
Mapy i geolokalizacja w Drupalu [PL]
Droptica
 
Drush - najbardziej przydatne komendy oraz tworzenie własnej prostej komendy ...
Drush - najbardziej przydatne komendy oraz tworzenie własnej prostej komendy ...Drush - najbardziej przydatne komendy oraz tworzenie własnej prostej komendy ...
Drush - najbardziej przydatne komendy oraz tworzenie własnej prostej komendy ...
Droptica
 
Search API i Faceted Search - podstawowa konfiguracja i przykłady użycia [PL]
Search API i Faceted Search - podstawowa konfiguracja i przykłady użycia [PL]Search API i Faceted Search - podstawowa konfiguracja i przykłady użycia [PL]
Search API i Faceted Search - podstawowa konfiguracja i przykłady użycia [PL]
Droptica
 
Drupal multisite i domain access - kiedy, jak i dlaczego [PL]
Drupal multisite i domain access - kiedy, jak i dlaczego [PL]Drupal multisite i domain access - kiedy, jak i dlaczego [PL]
Drupal multisite i domain access - kiedy, jak i dlaczego [PL]
Droptica
 
Mautic - Open Source Marketing Automation [PL]
Mautic - Open Source Marketing Automation [PL]Mautic - Open Source Marketing Automation [PL]
Mautic - Open Source Marketing Automation [PL]
Droptica
 

More from Droptica (13)

Business development w praktyce - jak skutecznie sprzedawać software [PL]
Business development w praktyce - jak skutecznie sprzedawać software [PL]Business development w praktyce - jak skutecznie sprzedawać software [PL]
Business development w praktyce - jak skutecznie sprzedawać software [PL]
 
PHPUnit - jak zacząć pisać testy automatyczne [PL]
PHPUnit - jak zacząć pisać testy automatyczne [PL]PHPUnit - jak zacząć pisać testy automatyczne [PL]
PHPUnit - jak zacząć pisać testy automatyczne [PL]
 
Komunikacja w zespole projektowym [PL]
Komunikacja w zespole projektowym [PL]Komunikacja w zespole projektowym [PL]
Komunikacja w zespole projektowym [PL]
 
Od środowiska developerskiego do produkcji [PL]
Od środowiska developerskiego do produkcji [PL]Od środowiska developerskiego do produkcji [PL]
Od środowiska developerskiego do produkcji [PL]
 
Skuteczna komunikacja w projekcie informatycznym [PL]
Skuteczna komunikacja w projekcie informatycznym [PL]Skuteczna komunikacja w projekcie informatycznym [PL]
Skuteczna komunikacja w projekcie informatycznym [PL]
 
Droopler: instalacja z użyciem composer i przykład budowy prostej strony firm...
Droopler: instalacja z użyciem composer i przykład budowy prostej strony firm...Droopler: instalacja z użyciem composer i przykład budowy prostej strony firm...
Droopler: instalacja z użyciem composer i przykład budowy prostej strony firm...
 
Rest API w Drupalu - działanie i definicja własnych endpointów [PL]
Rest API w Drupalu - działanie i definicja własnych endpointów [PL]Rest API w Drupalu - działanie i definicja własnych endpointów [PL]
Rest API w Drupalu - działanie i definicja własnych endpointów [PL]
 
Open social - przegląd możliwości dystrybucji [PL]
Open social - przegląd możliwości dystrybucji [PL]Open social - przegląd możliwości dystrybucji [PL]
Open social - przegląd możliwości dystrybucji [PL]
 
Mapy i geolokalizacja w Drupalu [PL]
Mapy i geolokalizacja w Drupalu [PL]Mapy i geolokalizacja w Drupalu [PL]
Mapy i geolokalizacja w Drupalu [PL]
 
Drush - najbardziej przydatne komendy oraz tworzenie własnej prostej komendy ...
Drush - najbardziej przydatne komendy oraz tworzenie własnej prostej komendy ...Drush - najbardziej przydatne komendy oraz tworzenie własnej prostej komendy ...
Drush - najbardziej przydatne komendy oraz tworzenie własnej prostej komendy ...
 
Search API i Faceted Search - podstawowa konfiguracja i przykłady użycia [PL]
Search API i Faceted Search - podstawowa konfiguracja i przykłady użycia [PL]Search API i Faceted Search - podstawowa konfiguracja i przykłady użycia [PL]
Search API i Faceted Search - podstawowa konfiguracja i przykłady użycia [PL]
 
Drupal multisite i domain access - kiedy, jak i dlaczego [PL]
Drupal multisite i domain access - kiedy, jak i dlaczego [PL]Drupal multisite i domain access - kiedy, jak i dlaczego [PL]
Drupal multisite i domain access - kiedy, jak i dlaczego [PL]
 
Mautic - Open Source Marketing Automation [PL]
Mautic - Open Source Marketing Automation [PL]Mautic - Open Source Marketing Automation [PL]
Mautic - Open Source Marketing Automation [PL]
 

Uwierzytelnianie dwuetapowe (2FA) w Drupalu [PL]

  • 1. Uwierzytelnianie dwuetapowe (2FA) w Drupalu Bartek Filipiuk
  • 2. kariera.droptica.pl Poznaj nas: ● O firmie ● Ścieżka kariery ● Szkolenia i rozwój ● Benefity ● Praca zdalna ● Biura ● Projekty i klienci ● Po pracy ● Hardware i software ● Typowy dzień pracy https://kariera.droptica.pl Social Media: #drupaldaypl Oferty pracy ● Frontend Developer HTML, CSS ○ 5 000 - 8 500 zł netto (B2B) ● Junior PHP Developer ○ 5 000 - 8 500 zł netto (B2B) ● PHP Fullstack Dev - Laravel lub Symfony (Mid/Senior/TechLead) ○ 9 500 - 16 500 zł netto (B2B) ● Drupal Developer (Mid/Senior/TechLead) ○ 10 500 - 17 500 zł netto (B2B)
  • 3. Agenda 1. Co to jest weryfikacja dwuetapowa? 2. Implementacja weryfikacji dwuetapowej w Drupalu Instalacja i konfiguracja modułów 3. Gotowe pluginy do uwierzytelniania dwuetapowego 4. Własny plugin do uwierzytelniania
  • 4. Co to jest? Uwierzytelnianie dwuetapowe to proces uwierzytelniania użytkownika podczas logowania, który składa się z dwóch metod kontroli. Standardowe logowanie. Plus dodatkowy etap. Po co? Poprawa bezpieczeństwa naszych danych w przypadku gdy np. Nasze hasło wyciekło z bazy
  • 5. Implementacja Potrzebne moduły ● Two-factor Authentication (TFA) - główna funkcjonalność, ● Key - moduł do zarządzania kluczami w Drupalu, ● Encrypt - pozwala innym modułom na szyfrowanie i odszyfrowywanie danych, ● Real AES lub inny moduł dodający metodę szyfrowania (lista tych modułów wymieniona jest na stronie modułu Encrypt), ● GA_login - integracja z Google Authenticator, aplikacją na telefon generująca kody.
  • 6. Implementacja Instalacja modułów, najlepiej za pomocą composera, potrzebne dwie komendy composer require drupal/tfa composer require drupal/real_aes Włączyć moduły.
  • 7. Implementacja Klucz szyfrowania, moduł Keys. Konfiguracja -> System -> Klucze Jak wygenerować klucz? openssl rand -base64 32 > tfa.key
  • 8. Implementacja Profil szyfrowania, moduł Encrypt. Konfiguracja -> System -> Encryption profiles
  • 9. Implementacja Konfiguracja modułu TFA Ustawienia TFA + testy Podmiana bloku user login, zmiana logiki logowania 1. Użytkownik wpisuje swoje dane logowania (login i hasło) w formularzu i zatwierdza. 2. Jeżeli dane są poprawne, Drupal tworzy sesję użytkownika, którego identyfikuje jako uwierzytelniony. 3. Moduł TFA implementuje hook_user_login. 4. TFA sprawdza, czy zalogowany użytkownik powinien użyć drugiej metody weryfikacji. Jeżeli tak - następuje wylogowanie i przekierowanie na drugą metodę weryfikacji. 5. Następuje proces weryfikacji np. poprzez wpisanie np. kodu. 6. Jeżeli kod jest poprawny, następuje ponowne zalogowanie użytkownika.
  • 11. Dziękujemy za wasz cenny czas! Imię i Nazwisko autora Bartek Filipiuk, bartlomiej.filipiuk@droptica.pl Dane Kontaktowe WWW.DROPTICA.COM