wiki:UseCaseImplementationsFinal

Version 3 (modified by 225144, 3 days ago) ( diff )

--

Финална имплементација на случаи на употреба

Извештаи за мапи

Корисникот започнува со клик на иконата за извештај. Се појавува модално прозорче каде што може да ги внесе темата и описот на проблемот.

За да се поднесе извештај, потребни се следните параметри:

  • username: Корисничко име на подносителот.
  • mapName: Име на мапата за која се пријавува извештајот.
  • subject: Краток наслов на проблемот.
  • content: Детален опис на проблемот.

Со користење на HttpService се праќа барање до Spring апликацијата за обработка на извештајот:

httpService.setAuthenticated() 

поставува Authorization заглавје во барањето и укажува дека треба да се автентицира овој повик, со користење на JWT.


Во backend, извештајот се обработува преку методот за креирање на извештаи:


Извештаите се зачувуваат во базата на податоци преку ReportService. За секој зачуван извештај, се испраќа емаил до администраторите.


При успешно поднесување, извештајот е достапен за преглед од страна на администраторите.

OAuth Најава

Корисникот клика на едно од копчината за најава со OAuth.

Прво, се пушта повик до Spring апликацијата за state параметар - уникатен стринг со цел заштита од CSRF напади.

Следно, со потребните параметри се праќа барање до OAuth endpoint на Google (во овој случај.)

OAuth снабдувачот го прикажува својот поглед за најава и корисникот избира сметка со која сака да се најави на апликацијата.

Откако ќе се кликне копчето за најава со соодветна сметка, OAuth снабдувачот праќа барање до Spring апликацијата со параметар "code" и параметар "state".

Од тука Spring апликацијата, корситејќи го "code" параметарот, истиот го препраќа на даден "endpoint" на OAuth снабдувачот со цел да се направи размена на кодот со што се добива "Access Token". Овој "Access Token" се поставува во заглавјето на следниот повик што се праќа до OAuth снабдувачот кој како резултат ги враќа потребните лични податоци на корисникот.

Се креира корисничка сметка ако веќе не постоела, и се издава JWT токен за најава на корисникот.

Конечно, се праќа повик до "endpoint" на React апликацијата, кој има задача да ги зачува JWT и пратените информации за корисникот, со што корисникот е најавен на апликацијата.

Attachments (12)

Download all attachments as: .zip

Note: See TracWiki for help on using the wiki.