Wie man es erweiterbar macht
Zunächst sollten Sie feststellen, dass alle diese APIs denselben Anmeldemechanismus verwenden. Sie alle verwenden OAuth für ihre Authentifizierung. Dies müssen Sie nutzen, indem Sie mit einer allgemeinen OAuth-Bibliothek beginnen. Verwenden Sie keine eigenen Bibliotheken zur Authentifizierung, da diese für andere Anbieter unbrauchbar werden. Wenn Sie OAuth2 kennen, können Sie ganz einfach weitere Anbieter hinzufügen.
Du brauchst leider zwei davon, denn Twitter hat den OAuth2-Zug noch nicht gesprungen.
In OAuth müssen Sie eine Schnittstelle für die authentifizierende Partei erstellen. Die Token werden Server für Server ausgetauscht. Erstellen Sie einen Einstiegspunkt, der für die gesamte Kommunikation zuständig ist.
Das Token sollte in einer separaten Tabelle von Ihrem Konto gespeichert werden. Dies liegt daran, dass es sich um mehrere Token und mehrere verknüpfte Profile handeln kann. Bei einigen Diensten erhalten Sie zwei Token, von denen einer ein Aktualisierungstoken ist.
Jetzt entwerfen Sie eine Schnittstelle, die die anderen Funktionen enthält, die Sie benötigen. Ich würde dafür persönlich einen eigenen REST-Service einrichten. Auf diese Weise können Sie die Authentifizierung problemlos auf andere Bereiche ausweiten.
Einige Dienste verwenden JSON für die Kommunikation, andere setzen auf XML usw. Für den Front-User müssen Sie sie alle vereinheitlichen. Dies ist ein ziemlich schmerzhafter Prozess, aber es ist möglich, hier einige Gemeinsamkeiten abzuleiten.
Ein weiteres Problem ist, dass nicht alle Dienste dieselbe Funktionalität bieten. Dies kann bedeuten, dass Ihre Dienste nicht die von Ihnen angegebene vollständige API bereitstellen können. Hier muss eine Strategie vorhanden sein, mit der die Anwendung ordnungsgemäß heruntergestuft werden kann.
Auf diese Weise können Sie problemlos neue Drittanbieter hinzufügen.
Token-Probleme
Die Token sind zeitlich begrenzt, daher benötigen Sie einige Cron-Jobs, mit denen überprüft werden kann, ob das Token noch verwendet werden kann. Andernfalls müssen Sie es löschen. Mit diesem Mechanismus können Sie auch ein Token aktualisieren.
Es kommt manchmal vor, dass ein Benutzer das Token zurückzieht. Sei bereit dafür.
Datenspeicher
Wenn Sie dieses Design haben, müssen Sie über die Daten nachdenken, die Sie benötigen. Dies ergibt sich teilweise aus Ihrer gerade erstellten Benutzeroberfläche. Entwerfen Sie hierfür einige Tabellen und prüfen Sie, ob die Daten tatsächlich abrufbar sind. Bei einigen Diensten können Sie nicht viele Daten abrufen. Sie sollten auch berücksichtigen, dass die Datenschutznachrichten umso schwerer werden, je mehr Daten Sie benötigen. Seien Sie also in Ihren Bedürfnissen bescheiden, sonst werden die Benutzer es nicht verwenden.
Zur zusätzlichen Überprüfung können Sie die Profile in einer separaten, aber verknüpften Tabelle für Ihre Benutzer speichern. Dadurch erhalten Sie viel mehr Informationen über jemanden.
Überprüfen Sie auch Ihre lokalen Gesetze, für einige Daten benötigen Sie zusätzliche Vorsichtsmaßnahmen.
Letzte Sache
Machen Sie keinen Fehler, wenn Sie kein Konto für Ihre eigenen Dienste erstellen. Wenn der Benutzer von Facebook gebannt wird, kann er sich nicht mehr bei Ihrem Dienst anmelden. Dies ist eine Situation, die Sie nicht erstellen möchten. Dies wird oft übersehen.