Changes between Version 10 and Version 11 of UseCaseImplementationsFinal
- Timestamp:
- 03/02/26 16:51:14 (3 days ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
UseCaseImplementationsFinal
v10 v11 9 9 || 17 || Контакт со ментор (променет) || Студент || 10 10 11 И дополнително се имплементирани E-mail нотификации, поврзани со inbox на самиот сајт.11 Дополнително се имплементирани E-mail нотификации, поврзани со inbox на самиот сајт. 12 12 13 13 ---- … … 48 48 }}} 49 49 50 Овој код ја конфигурира OAuth2 автентикацијата преку Google. ClientId и ClientSecret се вчитуваат од конфигурацијата на апликацијата. Доколку вредностите се валидни, се регистрира Google authentication middleware кој овозможува редирекција кон Google, како и обработка на callback барањето по успешна автентикација. CallbackPath ја дефинира патеката каде Google ќе го врати корисникот, додека CookieManager управува со сесијата. 51 50 52 {{{ 51 53 // POST: /Account/ExternalLogin … … 59 61 return new ChallengeResult(provider, redirectUrl); 60 62 } 61 62 63 }}} 64 65 Методот {{{ ExternalLogin }}} иницира процес на најава преку надворешен OAuth2 провајдер. Се генерира redirect URL кон методот {{{ ExternalLoginCallback }}}, по што се враќа ChallengeResult кој го пренасочува корисникот кон избраниот провајдер (Google, Microsoft или GitHub). 66 67 {{{ 63 68 // POST: /Account/ExternalLoginConfirmation 64 69 [HttpPost] … … 178 183 } 179 184 } 180 181 185 }}} 186 187 Методот {{{ ExternalLoginConfirmation }}} се повикува по успешна OAuth2 автентикација. Неговата функција е да креира нов корисник во системот и да го поврзе со надворешниот login провајдер. 188 189 Методот најпрво ги вчитува информациите од надворешниот провајдер. Креира нов објект од тип {{{ Student }}} или {{{ Mentor }}}, во зависност од избраниот тип на корисник, па го зачувува корисникот во базата преку {{{ UserManager.CreateAsync }}}. Го поврзува надворешниот login со локалниот корисник преку {{{ UserManager.AddLoginAsync }}} и ги зачувува предметите и темите поврзани со корисникот, доколку се внесени. 190 191 {{{ 182 192 [HttpPost] 183 193 [ValidateAntiForgeryToken] … … 206 216 207 217 }}} 218 219 Методот {{{ LinkLogin }}} овозможува поврзување на дополнителен OAuth2 провајдер со веќе постоечки кориснички профил. Ова му овозможува на корисникот да се најавува преку повеќе провајдери. 220 221 Методот {{{ LinkLoginCallback }}} го финализира процесот на поврзување на надворешниот login со тековниот корисник. Доколку операцијата е успешна, новиот login провајдер се додава во корисничкиот профил. 208 222 209 223 = Ментор =
