Dvojfaktorové overenie v PHP

Dvojfaktorové overenie je proces overenia užívateľa, ktorý tvoria dve na sebe nezávislé spôsoby. Prvý spôsob je tradičné zadanie mena a hesla na vstup do aplikácie. Druhý spôsob je potom dodatočné nezávislé overenie napríklad prostredníctvom SMS kódu, alebo mobilnej aplikácie s Push notifikáciou. Taktiež je možné využitie existujúcej aplikácie od Google pre integráciu dvojfaktorového overenia s názvom Google Authenticator, ktorú si teraz popíšeme bližšie.

Dvojfaktorové overenie v PHP

Google Authenticator

Aplikácia Google Authenticator je mobilná aplikácia, pomocou ktorej dokážeme nezávisle overiť prihlásenie viazané na konkrétneho užívateľa. Viac informácií o nej nájdeme na jej oficiálnej stránke v Google Play.

https://play.google.com/store/apps/details?id=com.google.android.apps.authenticator2&hl=en&gl=US

Pokiaľ máme nainštalovanú aplikáciu v mobilnom zariadení, ďalšie použitie je pomerne jednoduché. Ak si tento typ dvojfaktorového overenia chceme pridať do svojho projektu, tak postup bude približne nasledovný.

 

Použitie dvojfaktorového overenia v praxi

Po overení prístupových údajov na strane našej aplikácie nás systém presmeruje na zadanie druhého prístupového údaju, v tomto prípade to bude prepis kódu z Google Authenticator.

Generovanie prístupových kódov aplikácia Google Authenticator vykonáva s platnosťou pre vopred vložený Secret Key teda tajný kľúč. Ten do aplikácie zadáme buď manuálne, alebo skenovaním QR kódu, ktorý ho obsahuje. Tajný kľúč si môžeme ľubovoľne zadať. Môže obsahovať čísla a písmená a bude mať dĺžku 16 znakov. Po správnom zadaní aj druhých prístupových údajov systém môže vytvoriť reláciu a úspešne prihlásiť užívateľa a prideliť mu potrebné oprávnenia. Tiež je možné tento spôsob aplikovať ako hlavné prihlásenie do aplikácie na webe a overenie ponechať iba na strane Google. Ja ho však odporúčam využiť len ako sekundárne overenie.

Pokiaľ si pripravíme XML pre import podľa definovanej štruktúry, samotný import je už jednoduchý. V Pohode prejdeme na možnosť Súbor / dátová komunikácia / XML import/export. Zvolíme agendu, do ktorej chceme importovať údaje, vyhľadáme súbor XML a pokračujeme jeho importom. Riadime sa informáciami na obrazovke.

Dvojfaktorové overenie v PHP

Aplikácia Google Authenticator (foto: https://play.google.com)

Demo overenia cez Google Authenticator

Demo overenia cez Google Authenticator nájdeme na tomto linku:

https://www.dkubinsky.sk/priklady/dvojfaktorove-overenie

Oskenovaním QR kódu si do aplikácie pridáme potrebné oprávnenia. Tiež ich môžeme zadať aj manuálne vpísaním Secret Key priamo v aplikácii. Následne sa v aplikácii objaví pridané konto a 6 miestný kód, ktorý sa v pravidelnom cykle 30 sekúnd obmieňa. A práve tento kód sa zadáva pri ďalšom overení.

Súbory pre PHP dvojfaktorové overenie si môžete stiahnuť tu. Stačí v súbore index.php nastaviť vstupnú hodnotu Secret Key.

https://play.google.com/store/apps/details?id=com.google.android.apps.authenticator2&hl=en&gl=US

Pridať komentár k článku