diff --git a/projektdokumentation/.gitignore b/projektdokumentation/.gitignore index 9b06f73..c4ae676 100644 --- a/projektdokumentation/.gitignore +++ b/projektdokumentation/.gitignore @@ -6,7 +6,7 @@ *.fls *.out *.toc -*.pdf + ## Intermediate documents: *.dvi *-converted-to.* diff --git a/projektdokumentation/Abkuerzungen.tex b/projektdokumentation/Abkuerzungen.tex index ebc9cd5..b1979ea 100644 --- a/projektdokumentation/Abkuerzungen.tex +++ b/projektdokumentation/Abkuerzungen.tex @@ -35,6 +35,4 @@ \acro{URL}{Uniform Resource Locator}\acused{URL} \acro{VM}{Virtual Machine} \acro{XML}{Extensible Markup Language} - \acro{API}{Application Programming Interface} - \acro{JWT}{JSON Web Token} \end{acronym} diff --git a/projektdokumentation/Bilder/oauth.jpg b/projektdokumentation/Bilder/oauth.jpg deleted file mode 100644 index 520b059..0000000 Binary files a/projektdokumentation/Bilder/oauth.jpg and /dev/null differ diff --git a/projektdokumentation/Inhalt.tex b/projektdokumentation/Inhalt.tex index 44dfe37..b327d8e 100644 --- a/projektdokumentation/Inhalt.tex +++ b/projektdokumentation/Inhalt.tex @@ -3,4 +3,3 @@ \input{Inhalt/Projektarchitektur} \input{Inhalt/CI} \input{Inhalt/Dice.tex} -\input{Inhalt/Auth.tex} diff --git a/projektdokumentation/Inhalt/Auth.tex b/projektdokumentation/Inhalt/Auth.tex deleted file mode 100644 index e3f29e2..0000000 --- a/projektdokumentation/Inhalt/Auth.tex +++ /dev/null @@ -1,9 +0,0 @@ -\section{Authentifizierung} -\label{sec:Authentifizierung} -Die Authentifizierung gegenüber der \acs{API} erfolgt über einen \acs{JWT}-Token, der dem Frontend nach Erfolgreicher Authentifizierung übergeben wird. -Authentifizierung läuft über zwei verschiedene Wege ab: -\begin{itemize} - \item \textbf{Registrierung mit username/password:} Der Nutzer füllt ein Registrierungs-Formular aus, welches die Anmeldedaten an die \acs{API} sendet. Diese validitert die Anmeldedaten und legt bei Erfolg einen neuen Nutzer an. Anschließend wird eine E-Mail-Verifizierungs-Mail gesendet. Bis der Link in der Verifizierungs-Mail nicht angeklickt wurde, ist der Nutzer nicht aktiv und kann sich nicht anmelden. Nach dem Klick auf den Link wird der Nutzer aktiviert und kann sich anmelden. - \item \textbf{Login mit username/password:} Der Nutzer füllt ein Anmelde-Formular, welches die Anmeldedaten an die \acs{API} sendet. Diese prüft die Anmeldedaten und gibt bei Erfolg einen \acs{JWT}-Token zurück. Falls kein Nutzer mit den Anmeldedaten existiert, wird der Nutzer aufgefordert einen Account zu erstellen. - \item \textbf{Login über Oauth (Open Authorization):} Der Nutzer meldet sich mit einem Oauth-Provider an, in unserem Fall Google oder Github. Das Backend leitet den Nutzer zum Oauth-Provider weiter, der die Anmeldedaten prüft und bei Erfolg den Nutzer auf die Applikation weiterleitet und einen Authorization-Code zurück gibt. Mit diesem Code holt sich die \acs{API} einen \acs{JWT} vom jeweiligen Provider und holt sich Nutzer-Informationen. Mit diesen wird dann ein existierender Nutzer eingeloggt, oder registriert falls der Nutzer noch kein Konto hatte. Anschließend wird von der \acs{API} ein \acs{JWT} generiert und an das Frontend weitergegeben. -\end{itemize} diff --git a/projektdokumentation/Projektdokumentation.pdf b/projektdokumentation/Projektdokumentation.pdf new file mode 100644 index 0000000..a3d1545 Binary files /dev/null and b/projektdokumentation/Projektdokumentation.pdf differ