| Version 25 (modified by , 5 weeks ago) ( diff ) |
|---|
Имплементација на случаи на употреба
Најава со Google (Oauth2)
За ова сценарио, потребно е да вклучиме неколку dependencies поврзани со OAuth2. Исто така треба да креираме проект на Google Cloud Console каде треба да се внесат некои податоци за апликацијата, како на пример кои податоци ќе би бара web клиентот од корисникот. Дополнително, во application.properties фајлот, треба да се постават следните конфигурации, каде client id-то и client secret-от ги добиваме по креирање на проектот на Google Cloud Console.
За најава со Google акаунт, корисникот прво се регистрира со Google Account. Tоа го прави со притискање на копчето „Sign in with Google“ каде се отвара прозорец со сите негови сметки.
По одбирање на соодветниот акаунт, web клиентот на корисникот добива tokenId, ова е едноставен Json Web Token со сите потребни информации кои подоцна ќе му помогнат на backend-от да го валидира и регисрира корисникот. tokenId е испратено и се очекува на backend како header именуван "X-Google-Token"
Повикот е пречекан од еден од три методи, во зависност за кој role се регистрира корисникот, поделбата е направена по мали причини како на пример потребниот атрибут "Invite-Token" ако корисникот сака да се регистрира како manager или worker.
Прво нешто што се случува е верификација на самиот tokenId, надвор од основните проверки дали постои, се искористува готова метода од googleIdTokenVerifier, verify(), методата го проверува токенот со јавниот клуч на google за да потврди дека токенот е издаден од google. Потоа проверува дали clientId внатре во токенот е истото што ние го очекуваме, ова ни докажува дека наша web апликација го побарала токенот.
Се зачувува нов корисник со извадените податоци од tokenId-то, и поради тоа што google ни гарантира дека постои таков корисник и дека има пристап до неговиот маил, ние го прескокаме чекорот за верификација на постоењето на истиот.
Корисникот е сега спремен да се логира.
Овој пат нема потреба од двоење на методи, за секој тип на корисник исти е начинот на логирање.
Овој метод е подмножество од регистер методот со тоа што сега само проверуваме за автентичноста на токенот и враќаме JWT ако тоа пројде успошно.
Корисникот е логиран со неговиот Google акаунт.
Нотификации на e-mail за одобрена/одбиена резервација
Секој најавен работник ќе може да си менаџира со резервациите произведени од корисници за тој локал. Секој корисник кога ќе направи резервација, статусот на истата од страната на корисникот ќе биде „ЧЕКАЊЕ“. Вработениот управува со нив и ќе може да прифати или одбие резервација.
Откако некој вработен ќе прифати или одбие некоја резервација, корисникот ќе добие повратна информација на e-mail во зависност дали неговата резервација е прифатена или одбиена.
Цел овој процес што го гледаме е имплементиран на backend делот од апликацијата, односно тоа е овозможено со помош на Mail Sender во сервисниот слој од апликацијата. Постапката е иста, барањето пристигнува до контролерот и понатаму со помош на сервисниот слој се обработува барањето.
Attachments (23)
- appProperties.png (13.6 KB ) - added by 5 weeks ago.
- googleRegister.png (39.9 KB ) - added by 5 weeks ago.
- googleRegister.2.png (39.9 KB ) - added by 5 weeks ago.
- googleRegisterFrontend.png (26.4 KB ) - added by 5 weeks ago.
- GoogleAuthControllerEndpoints.png (103.3 KB ) - added by 5 weeks ago.
- registerGoogleCustomerMethod.png (103.1 KB ) - added by 5 weeks ago.
- verifyGoogleTokenAndGetPayloadMethod.png (67.9 KB ) - added by 5 weeks ago.
- successful register.png (30.4 KB ) - added by 5 weeks ago.
- loginWithGoogle.png (54.2 KB ) - added by 5 weeks ago.
- loginGoogleController.png (27.4 KB ) - added by 5 weeks ago.
- loggedInWithGoogle.png (53.8 KB ) - added by 5 weeks ago.
- accept-deny-reservation-service.png (98.5 KB ) - added by 5 weeks ago.
- reservation-declined-mail.png (38.0 KB ) - added by 5 weeks ago.
- reservation-mail-notifikacija-accepted.png (61.8 KB ) - added by 5 weeks ago.
- reservations-controllers.png (123.0 KB ) - added by 5 weeks ago.
- reservation-sender-mail-service.png (97.0 KB ) - added by 5 weeks ago.
- rezervacija-customer.png (148.3 KB ) - added by 5 weeks ago.
- rezervacija-customer-status.png (38.5 KB ) - added by 5 weeks ago.
- sender-mail-service.png (59.4 KB ) - added by 5 weeks ago.
- status-korisnik-rezervacija.png (65.1 KB ) - added by 5 weeks ago.
- worker-dashboard.png (77.4 KB ) - added by 5 weeks ago.
- worker-reservation-accept.png (117.6 KB ) - added by 5 weeks ago.
- worker-reservation-denied.png (111.8 KB ) - added by 5 weeks ago.
Download all attachments as: .zip

















