អត្ថបទនេះ សរសេររៀបរាប់អំពីការបង្កើត មុខងារauthentication ដោយប្រើប្រាស់ 2FA រវាយ 

Spring Boot ជាមួយនឹង Google Authenticator App ដូចនេះដើម្បីអាចLogin ចូល Web Application របស់យើងបាន តម្រូវអោយបញ្ចូល username (ដែលទីនេះយើងយក email ) password និង TOTP (ដែលគេស្គាល់ថា ជា Time-based One-Time Password)

ក្នុងអត្ថបទនេះ យើងនឹងមិនសរសេរនិងពន្យល់លម្អិតអំពី TOTP ទេ (ខិខិ សើច) ដោយដាក់ជាតំណភ្ជាប់ទីនេះដើម្បីលោកអ្នកអាចស្វែងយលបន្ថែមដោយខ្លួនឯង


អ្វីដែលត្រូវអនុវត្តរួមមាន៖

ការបង្កើត Spring Boot Application លោកអ្នកអាចបង្កើតបានតាមរយៈ Spring Initializr

 ដែលជាមួយគ្នានេះយើងបានប្រើប្រាស់ dependencies មួយចំនួនដូចជា security, web។បន្ថែមពីលើនេះ យើងបានដាក់ចូលនូវ dependency មួយទៀតគឺ Java One Time Password API (aerogear-otp-java)

ក្នុងការអនុវត្តនេះ យើងនឹងរក្សាទុកទិន្នន័យរបស់យើងនៅក្នុង database ហើយនៅទីនេះយើងបានប្រើប្រាស់ postgreSQL

ដែលនេះជា sample table 


CREATE TABLE springtotp.app_user (
	id serial NOT NULL,
	email varchar(200) NOT NULL,
	password varchar(200) NOT NULL,  
	firstname varchar(100) NOT NULL,
	lastname varchar(100) NOT NULL,
	secret varchar(50) NULL,
	active int2 NOT NULL DEFAULT 0,
	created_date timestamp NOT NULL DEFAULT now(),
	created_by int4 NOT NULL,
	CONSTRAINT app_user_email_key UNIQUE (email),
	CONSTRAINT app_user_pkey PRIMARY KEY (id)
);

តាមរយៈ table ខាងលើ កាលណា user ចុះឈ្មោះ/register ដំបូង តម្រូវអោយបញ្ចូល នាមត្រកូល នាមខ្លួន email និង password បន្ទាប់មកនឹង generate ជា secret key មួយ ហើយរក្សាទុកក្នុង database ដោយ active = 0; បន្ទាប់មក វានឹងបង្ហាញ QRCode សម្រាប់ user scan ដោយប្រើប្រាស់​Google Authenticator App ដើម្បីទទួលបានលេខកូដ ៦ខ្ទង់ វាយបញ្ចូល ដើម្បីបញ្ជាក់ការចុះឈ្មោះដោយជោគជ័យ។

Registration Form





Registration Confirmation
Sample qrcode : otpauth://TYPE/LABEL?PARAMETERS

otpauth://totp/LABEL%3Asample%40gmail.com?secret=${secret}&issuer=${issuer}

Finish the Registration

បន្ទាប់ពីបានវាយបញ្ចូលលេខកូដ៦ខ្ទង់ត្រឹមត្រូវ យើងនឹង update active =1 មានន័យថាដំណើរការ។ សូមបញ្ជាក់ផងដែល យើងបានប្រើប្រាស់ 

com.google.zxing សម្រាប់បង្កើតជា qrcode 

         angularjs + spring-boot thymeleaf សម្រាប់ client side

នៅអត្ថបទន្ទាប់ទៀត យើងនឹងសរសេរអំពី ការ Login សូមអរគុណ


►►សូមអរគុណរាល់ការចូលរួមCommentរបស់អ្នក!

 
Top
Don't You Think this Awesome Post should be shared ??
| ការប្រើប្រាស់ Two Factor Authentication ជាមួយ Spring Boot + Google Authenticator Mobile App |