ist es eine schlechte praxis, die e-mail-adresse eines benutzers in einem jwt zu speichern?
<p>ich verwende jwts für die benutzerauthentifizierung in einer webanwendung. ich habe eine benutzer-datenbank, in der die eindeutige id jedes benutzers seine e-mail-adresse ist. um den betreff des jwt zu identifizieren, habe ich derzeit einen anspruch, in dem die e-mail-adresse des benutzers im token gespeichert ist. ist das ein sicherheitsproblem? wenn ja, sollte ich eine guid oder einen hash der e-mail-adresse als id verwenden?</p>
<p>die kurze antwort lautet nein. es sollte kein problem geben, da <em> email</em> ein gültiger und <a href="https://www.iana.org/assignments/jwt/jwt.xhtml">registrierter</a> <a href="https://tools.ietf.org/html/rfc7519#section-4.2">öffentlicher anspruch</a> ist.</p><blockquote> <p>ich habe eine benutzer-db, in der die eindeutige id jedes benutzers seine e-mail-adresse ist ...</p> </blockquote><p>nun, es gibt eine <em> <a href="https://tools.ietf.org/html/rfc7519#section-4.1">geschützte behauptung</a> </em> für die benutzer-id. der anspruch <code>sub</code>.</p><blockquote> <p><strong> 4.1.2. "sub" (betreff) anspruch </strong></p> <p>der anspruch "sub" (subjekt) identifiziert den auftraggeber, der gegenstand des jwt ist. die ansprüche in einem jwt sind normalerweise aussagen über das thema. <strong> der betreffwert muss entweder so festgelegt sein, dass er im kontext des emittenten lokal eindeutig oder global eindeutig ist </strong>. <strong> die bearbeitung dieses anspruchs ist in der regel anwendungsspezifisch </strong>. der wert "sub" unterscheidet zwischen groß- und kleinschreibung und enthält einen stringoruri-wert. die verwendung dieses anspruchs ist optional.</p> </blockquote><p>vielleicht wäre es besser, den anspruch <code>sub</code> anstelle von <code>email</code> zu verwenden, da die e-mail in ihrem system eine id ist und sie sie wahrscheinlich unabhängig vom format als solche behandeln möchten.</p><p>nichts hindert sie jedoch daran, sowohl <code>sub</code> als auch <code>email</code> zu implementieren. das ist auch anwendungsspezifisch.</p><p>unter sicherheitsgesichtspunkten sollten die hauptanliegen darin bestehen, <a href="https://en.wikipedia.org/wiki/transport\_layer\_security"> tls </a> (https) und <a href="https://www.owasp.org/index.php/json\_web\_token\_(jwt)\_cheat\_sheet\_for\_java#other\_cheatsheets">vorzeichen/verschlüsselung des tokens</a> zu implementieren =.</p>
<p>erwägen sie die verwendung eines <strong> mehrfachauswahl-designs mit token </strong>. die filter-as-you-type-funktion ist nett, aber nicht unbedingt erforderlich. diese funktionieren gut, wenn im allgemeinen anwendungsfall entweder einer oder nur wenige ausgewählt werden. die benutzerfreundlichkeit nimmt jedoch schnell ab, wenn sie viele auswählen müssen, da der benutzer das menü für jedes element erneut aufrufen muss.</p><p><img src="https://i.stack.imgur.com/fth7o.png" alt="multi-select with tokens, via harvesthq.github.com/chosen"></p><ul> <li> <a href="http://harvesthq.github.com/chosen/">http://harvesthq.github.com/chosen/</a> </li> <li> <a href="http://designingwebinterfaces.com/the-multi-select-solution">http://designingwebinterfaces.com/the-multi-select-solution</a> </li> <li> <a href="http://loopj.com/jquery-tokeninput/">http://loopj.com/jquery-tokeninput/</a> </li> </ul><p>sie haben die tokenisierte mehrfacheingabemethode bereits in ihren e-mail-clients gesehen. <img src="https://i.stack.imgur.com/h1aid.png" alt="multi-select-tokens in email"></p><p>wenn häufig mehrere ausgewählt werden, können sie ein kontrollkästchenmenü <strong> </strong> in betracht ziehen. der unterschied besteht darin, dass das dropdown-menü über alle klicks hinweg dauerhaft bleibt (und die mehrfachauswahl visuell kommuniziert). daher kann der benutzer mit klick-klick-klick schnell mehrere elemente auswählen. für unsere web-app möchten wir dieses design durch hinzufügen der token-funktionalität verbessern.</p><p><img src="https://i.stack.imgur.com/zqizh.png" alt="checkbox menu, via realestate.com.au"></p><ul> <li> <a href="http://www.realestate.com.au/">http://www.realestate.com.au/</a> </li> <li> <a href="http://blogfreakz.com/jquery/jquery-dropdown-check-list/">http://blogfreakz.com/jquery/jquery-dropdown-check-list/</a> </li> </ul> wenn er nicht auch eine handynummer hinterlegt hat, zu der der bestätigungscode auch geschickt werden kann, dann wird es kritisch.
am besten bastelt der nutzer sich dann einen neuen account.

allerdings könnte er auch noch versuchen, über die startseite in seinen e-mail account zu kommen.
oder über seinen clever account - einstellungen - manchmal kann man dann noch etwas ändern. > 
> Quote: Liegt es daran, dass es zweimal dieselbe E-mailadresse ist? 
> 
> 
> 


Soweit ich weiß benötigt jedes Konto eine **eineindeutige** E-Mail Adresse.


Doppeltanmeldungen sollte es eigentlich nicht geben dürfen.


Wurde evtl. Facebook, GooglePlus & Co. (statt einer E-Mail) für den Login in das aktuellere Konto verwendet?   

Laut anderen Nutzern wird dann teils das alte Profil überschrieben bzw. umbenannt.


Besitzt überhaupt das neuere Konto eine zugeordnete E-Mail Adresse?


Wenn es in der App mit dem Anmelden nicht klappt:   

Schon mal im Web [www.duolingo.com](http://www.duolingo.com) versucht?


Entweder man gibt seinen Benutzernamen ein ODER man verwendet eine *eineindeutige* E-Mail Adresse + Passwort.


Wie lautet denn das zweite Konto?   

Ist von Duolingo auf irgendwelche kryptischen Buchstaben und Nummern/Zeichen zurückgesetzt worden?


Wenn die Passwörter gleich sind, müßtest zumindest über den Login **per Username** in das andere Konto kommen können.


Habe ich es richtig verstanden dass in der Inbox E-mails vom Absender [duolingo.com](http://duolingo.com) zum neueren Konto wegen Streakverlust & Co. eintreffen und man somit sieht, dass auch das zweite Konto die gleiche E-Mail Adresse verwendet?


Ja wie denn das?


Vielleicht irgendeine Alias / Sub E-Mail Adresse verwendet die jetzt im gleichen Posteingang herauskommt?


Wurde die option "I cannot access my account" beim Ticket verwendet: <https://support.duolingo.com/hc/en-us/requests/new>


Oder versehentlich "nur" einen Bug Report submittet?   

Zur letztere "normale" Option enthält man - außer der Auto-Reply zum Eingang des Tickets - keinerlei Rückmeldungen vom Support/Entwicklern!!! Hast du ein Backup deiner Daten? ...nein?  
Dann ist der Fall abgeschlossen ich hoffe du weist jetzt wofür Datensicherungen gut sind. ich verwende mailcheck plus.


https://play.google.com/store/apps/details?id=jp.co.technoport.android.mailcheckplus hallo,

habt ihr das gerät schon mal aus-und wieder eingeschaltet? so komisch das auch klingt, aus meiner erfahrung behebt das schon viele komische fehler.

als nächstes könnte man die daten des gerätes sichern. entweder in die cloud oder auf einen pc. anschließend kann man das gerät zurück setzen. … ja ist die gleiche e-mail-adresse.
konnte das problem lösen. habe meine unterlagen nochmals durchsucht und die passende pin gefunden.:grin: Guten Tag Herr ******, vielen Dank für Ihre Nachricht. Gern werden wir Ihr Anliegen intern zur Prüfung weitergeben. Sobald Ihr Anliegen überprüft wurde, erhalten Sie per E-Mail eine Rückmeldung. Freundliche Grüße, Ihr **[Jochen Schweizer](https://www.reklamation24.de/jochen-schweizer/183)** Team OK, geht.  

  

Formular aufrufen, dann speichern, dann kann dieser gespeicherte Eintrag in der absolut korrekten Formatierung gemailt werden. DANKE Zollsoft Da musst du dich mit den Begriffen "digitale Signatur" (siehe <http://de.wikipedia.org/wiki/Digitale_Signatur>) und PKI bzw. Zertifikate auseinander setzen. Ist nicht sooo schwierig, wenn man einmal das Grundprinzip begriffen hat. Und es gibt auch genug Gratis-Lösungen wie z.B. PGP.


In einem Schnellverfahren erklärt:
Ein solcher digitaler "Schlüssel" besteht immer aus 2 Teilen, einem privaten Schlüssel (das ist dein Heiligtum, welches du nie weitergeben darfst) und einem öffentlichen Schlüssel (den müssen alle Beteiligten bekommen -> den musst du so viel wie möglich verbreiten bzw. sollte der auf einem Server im Internet für alle verfügbar gemacht werden).


Wenn du nun etwas verschlüsselst, musst du das **immer mit dem öffentlichen Schlüssel aller Empfänger** verschlüsseln (die musst du natürlich vorher von denen bekommen) -> denn nur diese können die E-Mail dann mit Hilfe ihres jeweiligen privaten Schlüssels wieder entschlüsseln.


Fazit: nur mit solchen Techniken lassen sich Manipulationen verhindern bzw. nachweisen.