| 10 | [[Image(google_login.png,width=900, height=450)]][[BR]] |
| 11 | Корисникот притиска на копчето за најва со Google и се испраќа get барање до backend. |
| 12 | [[Image(google_login_client.png,width=900, height=450)]][[BR]] |
| 13 | [[Image(google_login_axios.png,width=900, height=450)]][[BR]] |
| 14 | Барањето е обработено од серверот со тоа што корисникот најпрво е пренасочен кон Google страницата за најава, каде корисникот го избира својот профил. Потоа Google испраќа get барање до наведениот url (http://localhost:5001/api/auth/google/callback) со специјален код во url-от. Преку овој код функцијата passport.authenticate(...) прави барање до Google, со што го добива профилот на корисникот. |
| 15 | [[Image(auth_router.png,width=900, height=450)]][[BR]] |
| 16 | Потоа се извршува callback функцијата дефинирана со passport Google strategy, каде најпрво се проверува дали постои профил со конкретната email адреса, а доколку не постои се креира нов профил. |
| 17 | [[Image(passportjs.png,width=900, height=450)]][[BR]] |
| 18 | На крај, се генерира supabase magic link, со кој се комплетира најавата, настанува SIGNED_IN event и се воспоставува сесија, а корисникот е пренасочен кон контролната табла. |