0

Ich verfüge über eine Web-App, über die sich Nutzer bei Google anmelden (OAuth 2.0). Diese Webanwendung verwendet eine REST-API (figo.io) im Hintergrund. Daher muss ich einen API-Benutzer mit Anmeldeinformationen erstellen.So generieren und speichern Sie sicher ein Passwort aus Google OAuth-Benutzerdaten für eine REST-API

Jetzt habe ich das folgende Problem: Ich muss einen Benutzernamen und ein Passwort aus dem Nichts generieren. Der Benutzername ist trivial, aber das Passwort ...

Da meine Benutzer mit Google anmelden, ich kenne ihr Passwort nicht, und ich möchte sie nicht für ein zusätzliches Passwort aus Gründen eines besseren bitten UX. Das einzige, was ich habe, sind ihre Google+ Profildaten.

Wie kann ich dieses REST-API-Passwort generieren und sicher speichern? In ihrer docs, die API-Entwickler Zustand:

ONE FIGO USER pro Anwendung USER
[...]
In diesem Szenario ist es empfehlen figo Benutzer mit einem Benutzernamen direkt abbildbar von Ihrem erstellen Anwendungs-Benutzer-IDs, z mit [Ihre Benutzer-ID] @figo. [Ihre Anwendungsdomäne]. Auf diese Weise müssen Sie keine zusätzlichen Informationen speichern und die E-Mail-Adresse Ihres Benutzers für die explizite figo-Nutzung nicht blockieren. Eine ähnliche, aber sicherere Zuordnung wird für das Benutzerkennwort empfohlen.

Ich kann nicht denken Sie an einen sicheren Weg, um dieses letzte Bit über das Passwort zu erreichen.

Bis jetzt die beste Lösung, die ich kam, ist meine Benutzer UUID (ein Hash) und die Google ID (aus ihrem Profil, es ist ein Int) und Hash diese beiden Werte in ein Passwort.

Aber wenn ein Angreifer meine Datenbank hacken würde, würde er die Google-ID sowie die UUID wissen ...

Hat jemand von euch eine große Idee? Oder ist "Hacken meiner Datenbank" kein Problem, das mir wichtig ist? Ich sollte sagen, dass die figo-API für das Online-Banking verwendet wird, also möchte ich wirklich, dass die Daten der Benutzer sicher sind.

S.S .: Nur FYI, ich benutze einen Knoten/Express-Server in dieser Web-App. Ich benutze Pass für Google OAuth.

Antwort

0

Sie können eine JWT token als Kennung verwenden und sie statusfrei halten.

+0

Vielen Dank für Ihre Antwort. Aber ich sehe nicht, wie das mir hilft, ein Kennwort für eine andere API zu erzeugen. –

Verwandte Themen