2016-10-24 4 views
0

Wir möchten einen Dienst anbieten, bei dem sich die Benutzer auf unserer Website registrieren müssen. Das Problem ist, dass unser Kunde (ein anderes Unternehmen, sagen Firma A) aus Sicherheits - und Spam - Gründen überprüfen möchte, ob jeder der Benutzer, die sich registrieren, tatsächlich verifizierte Benutzer sind, aber nicht auf ihre Datenbank zugreifen Benutzer sind bereits registriert).OAuth, OpenID oder andere Lösungen?

Wir könnten eine manuelle Überprüfung (mit Benutzern physischen Personalausweis) tun, aber dies wäre nicht sehr effektiv. Aus diesem Grund dachten wir, dass wir OAuth oder OpenID verwenden könnten, damit sich unsere Benutzer über ihr Konto in der Firma A anmelden/anmelden.

Abgesehen von der E-Mail/dem Benutzernamen müssten wir einige sammeln zusätzliche Informationen für jeden Benutzer, den sie nicht in der Datenbank von Firma A haben, und in der Lage sein, sie im Laufe der Zeit zu verwenden. Das heißt, es wäre großartig, wenn wir die Datenbank von Firma A verwenden könnten, ohne Zugriff darauf zu haben, um die Identität unserer Benutzer zu überprüfen und ihnen zu ermöglichen, sich als verifizierte Profile anzumelden.

Welche Technologien und Verfahren sollten wir anwenden, um unser Ziel zu erreichen? Wir haben von OAuth und OpenID gehört und gelesen, aber wir sind uns nicht ganz sicher, ob wir das suchen oder welches unser Problem am besten ist. Darüber hinaus würden wir uns freuen, wenn uns jemand einen Leitfaden für die Implementierung der Lösung zur Verfügung stellen könnte, da es nicht das typische Facebook/Google-Login ist, für das es viele Informationen gibt, sondern wir müssen die Datenbank eines externe Firma.

Anmerkung: Wir sind mit PHP und MySQL

Antwort

1

An diesem Punkt, wenn Sie mit Authentifizierung/Autorisierung beschäftigen möchten Sie am OpenID Connect aussehen sollte und OAuth 2.0, wie sie die neuesten und die, die mit einer erhöhten Rate sind der Annahme.

Sie haben einen ähnlichen Verlauf, da sie in beiden Fällen nicht abwärtskompatibel mit den Vorgängerversionen sind, insbesondere OAuth 1.0 und OpenID.

Für dieses spezielle Szenario werden Sie jedoch davon abhängig sein, was Firma A unterstützt. Sie können Unterstützung für OAuth2 und OpenID Connect zu Ihrer Anwendung hinzufügen, aber wenn Firma A dies nicht unterstützt, sind Sie wieder auf Platz eins.

Wenn Sie in irgendeiner Weise beeinflussen können, was Unternehmen A Ihnen zur Verfügung stellt, wäre eine kompatible OpenID Connect-Lösung die beste Wahl, da Ihre Anwendung es verwenden könnte, um Benutzeridentitäten ohne direkten Zugriff zu verifizieren zu ihrer Benutzerdatenbank. Nachdem Sie eine verifizierte Benutzeridentität erhalten haben, könnten Sie weitere Informationen vom Benutzer benötigen, um ein vollständigeres Profil auf Ihrer Seite zu haben.

Angenommen, Firma A hat eine OpenID connect-konforme Implementierung zur Verfügung gestellt, die mit der Integration in andere Anbieter wie Auth0 und Google integriert ist. Ich sage ähnlich, denn wie Sie in jedem Link einchecken können, hat jeder Anbieter möglicherweise eigene Erweiterungen und unterstützende Bibliotheken, die darauf abzielen, die Erfahrung zu vereinfachen.

Verwandte Themen