2017-04-03 2 views
1

Ich speichere Zugriffstoken von Google oauth2 im lokalen Speicher. Nun, das Problem ist, das ist ein Sicherheitsproblem. Eine andere Person kann die lokalen Speicherwerte aus meinem Browser kopieren und die URL eingeben, um auf mein Konto zuzugreifen. Wie können wir dies lösen, da das Zugriffstoken im Allgemeinen nur im lokalen oder Sitzungsspeicher gespeichert wird? Wir können ein Logout nach sagen 60 Minuten geben, wie folgt aus:Oauth2 Access Token Sicherheitsproblem + angular 2

this.expiresTimerId = setTimeout(() => { 
      console.log('Session has expired'); 
      this.doLogout(440); 
     }, 3600); 

Aber die Schwachstelle besteht für 60 min, die Sicherheitsverletzungen verursachen können. Wie vermeide ich das?

Antwort

0

Ich weiß nichts über eine einfache Möglichkeit, ein Zugriffs-Token gegen "jemand anderes kommt zu meinem Computer und mißbraucht meine Open-Session" Angriffe (Zugriffstoken werden an die Client-IP-Adresse gebunden sein).

Sie können die Situation verbessern, indem Sie sessionStorage anstelle von localStorage verwenden. Wenn eine Browserregisterkarte geschlossen wird, werden die Werte gelöscht.

Um zu verhindern, dass ein Angreifer Schaden anrichtet, müssen alle Vorgänge, die Datenänderungen vornehmen oder vertrauliche Daten anzeigen, auf ähnliche Weise erneut authentifiziert werden, wie dies bei Online-Banking-Systemen der Fall ist.