Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > Web Development
You last visited: Today at 20:46

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Middleware JWT überprüfung

Discussion on Middleware JWT überprüfung within the Web Development forum part of the Coders Den category.

Reply
 
Old   #1
 
Cc_Cc_Cc's Avatar
 
elite*gold: 0
Join Date: Mar 2011
Posts: 419
Received Thanks: 17
Middleware JWT überprüfung

Guten Tag,

wenn sich jemand anmeldet auf meiner Seite, dann bekommt er ein Cookie mit dem Wert des JWT.

Jetzt will ich natürlich sagen, dass wenn er auf die Login seite geht, dass es nicht erlaubt ist. (Da er ja schon angemeldet ist).

Jetzt ist meine Frage reicht das wenn ich nach dem Reqeuest header Frage und schaue ob der Token vorhanden ist. Falls Ja dann sollte logischerweise kein Zutritt zum Login sein. Arbeite aber zum ersten mal mit JWT deswegen wollte ich Fragen ob man das so auch macht oder gibt es einen anderen/besseren weg?

mfg
Cc_Cc_Cc is offline  
Old 01/13/2021, 11:26   #2
 
Mad0ck's Avatar
 
elite*gold: 313
Join Date: Oct 2014
Posts: 1,367
Received Thanks: 284
Hab leider keinerlei erfahrung mit JWT, darum will ich da nichts schreiben.
Sowie ich es kurz rausgelesen habe sollte der Token unique sein, also solltest du auf den prüfen können.

Würde aber nicht nur prüfen ob er nen Wert hat oder nicht.
Klingt irgendwie falsch für mich.

Aber wie gesagt würde da auf wem warten der sich da besser auskennt :'D




Ich kann dir nur sagen, dass man in React zB nen state " isLoggedIn: true/false " setzen kann.

Dann erübrigt sich die Frage ob man eingeloggt ist oder nicht.

In php kann man das glaub ich mit sessions lösen (Kann mich grau dran Erinnerung das ich das damals so in meiner Diplomarbeit gemacht habe)
Mad0ck is offline  
Thanks
1 User
Old 01/17/2021, 20:04   #3
 
Legithos's Avatar
 
elite*gold: 95
Join Date: Nov 2009
Posts: 669
Received Thanks: 47
Wieso setzt du beim Login keine Session (auch für spätere Zwecke um damit zu arbeiten) und fragst auf der Login-Seite ab, ob die Session schon gesetzt ist ?

Du hast index.php als Login-Seite. Beim Login kommt man auf home.php. Während des Login-Prozesses wird - falls noch nicht vorhanden - eine Session ( z.B. $_SESSION["user"] = $userid; ) gesetzt. Wenn du von home.php wieder auf Index.php musst du dann entweder (falls dies als Logout dienen soll) die Session kaputt machen oder falls die Session vorhanden ist auf home.php weiterleiten.

Ähnliches Prinzip findest auf auch beim "keep me loged in"-Button:
Legithos is offline  
Thanks
1 User
Old 01/23/2021, 11:15   #4
 
Flaymerino's Avatar
 
elite*gold: 0
Join Date: Dec 2014
Posts: 55
Received Thanks: 29
Also (fast) jede Sprache bietet dir Möglichkeiten die Session eines jeden Benutzers festzuhalten.
In dieser Session kannst du viele verschiedene Dinge abspeichern.
Wenn der User bereits eingeloggt ist, dann kannst du das in der Session sehen, sofern du eine Property in deinem Objekt deklariert und definiert hast.

In deinen Methoden, in modernen OOP-Programmiersprachn hat man eine Initializable-Methode die beim Aufruf z.B. einer Komponente in Angular etc. andere Methoden aufruft und deren Code ausführt.
Dort kannst du dann weiterhin bestimmen was genau passieren soll.
Prinzipiell gibt es sehr viele Möglichkeiten wie man Probleme löst.
Welche für dich am besten ist musst du selber entscheiden.

Ich weiß nicht ob dir das geholfen hat, aber bei Fragen gerne melden. ^^
Flaymerino is offline  
Thanks
1 User
Old 01/24/2021, 11:14   #5
 
Cc_Cc_Cc's Avatar
 
elite*gold: 0
Join Date: Mar 2011
Posts: 419
Received Thanks: 17
Quote:
Originally Posted by Flaymerino View Post
Also (fast) jede Sprache bietet dir Möglichkeiten die Session eines jeden Benutzers festzuhalten.
In dieser Session kannst du viele verschiedene Dinge abspeichern.
Wenn der User bereits eingeloggt ist, dann kannst du das in der Session sehen, sofern du eine Property in deinem Objekt deklariert und definiert hast.

In deinen Methoden, in modernen OOP-Programmiersprachn hat man eine Initializable-Methode die beim Aufruf z.B. einer Komponente in Angular etc. andere Methoden aufruft und deren Code ausführt.
Dort kannst du dann weiterhin bestimmen was genau passieren soll.
Prinzipiell gibt es sehr viele Möglichkeiten wie man Probleme löst.
Welche für dich am besten ist musst du selber entscheiden.

Ich weiß nicht ob dir das geholfen hat, aber bei Fragen gerne melden. ^^
Der User soll ja eingeloggt bleiben, deswegen muss ich ja ein Cookie mit dem JWT speichern oder lieg ich falsch?^^ Und danke für eure Anworten
Cc_Cc_Cc is offline  
Old 01/24/2021, 11:52   #6
 
Flaymerino's Avatar
 
elite*gold: 0
Join Date: Dec 2014
Posts: 55
Received Thanks: 29
Quote:
Originally Posted by Cc_Cc_Cc View Post
Der User soll ja eingeloggt bleiben, deswegen muss ich ja ein Cookie mit dem JWT speichern oder lieg ich falsch?^^ Und danke für eure Anworten
Huhu,

brauchst du nicht, weil die Session solange bestehen bleibt bis der User den Browser schließt oder sich abmeldet. Wann was getriggert wird musst du coden.

Die Tokens würde ich mir ehrlich gesagt Backendseitig generieren lassen, wenn du die unbedingt brauchst. Und im Frontend mit einen Service an den Endpunkt abfangen und setzen.

Aber das kommt auch auf deinen Stand an wie weit du in der Programmierung bist.
Webentwicklung ist entgegen einiger Behauptungen durchaus sehr komplex. Z.B die Entwicklung eines Webshops (stell dir mal Amazon vor) gehört mit zu den komplexesten und aufwendigsten Themen.
Aber mit Fleiß und Leidenschaft geht alles
Die Entwicklung lebt von der Community für die ich mich als angehender .Net- /Java- /Angular- Entwickler sehr begeistere!


Bei Fragen melde dich.
Flaymerino is offline  
Thanks
1 User
Old 01/25/2021, 21:57   #7
 
Legithos's Avatar
 
elite*gold: 95
Join Date: Nov 2009
Posts: 669
Received Thanks: 47
Quote:
Originally Posted by Cc_Cc_Cc View Post
Der User soll ja eingeloggt bleiben, deswegen muss ich ja ein Cookie mit dem JWT speichern oder lieg ich falsch?^^ Und danke für eure Anworten
Bei einem "normalen" Login solltest du Sessions statt Cookies benutzen!
Legithos is offline  
Old 01/27/2021, 12:35   #8
 
Cc_Cc_Cc's Avatar
 
elite*gold: 0
Join Date: Mar 2011
Posts: 419
Received Thanks: 17
Quote:
Originally Posted by Legithos View Post
Bei einem "normalen" Login solltest du Sessions statt Cookies benutzen!
Hi, das habe ich auch sonst gemacht, aber wie mache ich das der User dann angemeldet bleibt beispielsweise bei einem "Remeber me" Button. Viele groß-Unternehmen machen das genauso
Cc_Cc_Cc is offline  
Old 01/29/2021, 19:24   #9
 
Legithos's Avatar
 
elite*gold: 95
Join Date: Nov 2009
Posts: 669
Received Thanks: 47
Quote:
Originally Posted by Cc_Cc_Cc View Post
Hi, das habe ich auch sonst gemacht, aber wie mache ich das der User dann angemeldet bleibt beispielsweise bei einem "Remeber me" Button. Viele groß-Unternehmen machen das genauso
Hab dir den Link schon geschickt:



Kurz:

- Beim normalen Login (wenn der Abgleich zwischen Benutzername und Passwort bei der Eingabe mit Benutzername und Passwort aus der Datenbank übereinstimmen) speicherst du zb die userid des Benutzers in einer Session (zb $_SESSION["userid"] = $userid).

- Beim "eingeloggt bleiben" speicherst du zusätzlich einen Cookie, welcher die userid und eine Verschlüsselung enthält. Gleichzeitig speicherst du die Verschlüsselung und die userid in einer Datenbanktabelle.

- Wenn jemand deine Seite besucht, schaust du, ob der Cookie (userid und Verschlüsselung) existiert UND mit einem deiner Datenbankeinträge aus der Tabelle übereinstimmt und weißt ihm dann die userid zu = eingeloggt!

- Zum Schluss noch eine Weiterleitung auf deine Sichere Seite (also wo man eingeloggt sein muss), sobald ein Besucher auf deiner Startseite eine userid-Session zugewiesen (siehe obere Punkte) bekommen hat.
Legithos is offline  
Thanks
1 User
Reply


Similar Threads Similar Threads
[RELEASE] node-sro-proxy - Opensource middleware/security layer
01/20/2021 - SRO PServer Guides & Releases - 20 Replies
Moved https://www.elitepvpers.com/forum/sro-coding-corn er/4862108-nodejs-proxy-filter-framework.html#post 38565587



All times are GMT +1. The time now is 20:47.


Powered by vBulletin®
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2026 elitepvpers All Rights Reserved.