= Финална имплементација на случаи на употреба Додатни случаи на употреба опфатени во финалната верзија: || ID || Use Case || || 7 || Најава на корисник со Google профил преку OAuth2 || || 8 || Нотификации за измена на цена на акција || || 9 || Експорт / импорт на податоци || == ИД: 7 - Најава на корисник со Google профил преку OAuth2 Корисникот сака да се логира со Google налог наместо да внесува username и password. Ако Google налогот постои, корисникот се логира. Ако Google налогот не е поврзан со internal account, корисникот треба да го поврзе. [[Image(loginGoogle.png)]] [[Image(modal.png)]] Компонентата GoogleLogin од @react-oauth/google се користи. На onSuccess, се повикува handleGoogleLogin која праќа credential token до backend. Ако backend врати 409, се чува pendingToken и се отвора modal за поврзување со internal account. [[Image(frontendGoogle1.png)]] [[Image(frontendGoogle2.png)]] Backend прима credential од frontend, проверува дали корисникот постои. case A: email не е пронајден - се креира корисник, се генерира токен. case B: email постои но само со интерен акаунт - backend враќа 409 и pending token case C: Корисникот постои со google акаунт, се креира JWT и се враќа на frontend. [[Image(backendLogic1.png)]] [[Image(backendLogic2.png)]] [[Image(pending1.png)]] [[Image(pending2.png)]] Кај pendingToken токените се валидни само за кратко време (expiresAt), поради сигурност.