Ich versuche, spring social für meine REST-Dienste und meine mobile App zu nutzen.
Ich frage mich, was der beste Ansatz ist.
Ich plane linkedin , Google Login und Passwort-Authentifizierung in meiner mobilen App . Dieser soziale Login sollte mit Nutzern in meiner Datenbank verknüpft sein .
Meine Frühlingsanwendung wird als eine API fungieren, die mit einem JWT-Token gesichert werden sollte. Die mobile App wird anschließend dieses JWT-Token verwenden, um die API zu konsumieren.
Auf meinem Handy möchte ich die Möglichkeit haben, sich mit linkedin, facebook oder password anzumelden.
Soweit ich das verstanden habe, benötigt mobile einen anderen OA-Flow als in Ссылка
Scheint so, als ob der "Proof Key for Code Exchange" -Fluss wie folgt benötigt wird: Ссылка
Stimmt das? Ich habe keine Informationen darüber gefunden, wie man das am besten mit Spring Social tun kann und ob Spring Social diesen Anwendungsfall unterstützt.
Könnte mir jemand in die richtige Richtung zeigen? Ich habe gerade Informationen gefunden, wie man das mit einer einzelnen Seite und nicht mit mobilen Anwendungen macht. Vielen Dank im Voraus!
Ein möglicher Weg wäre
Das SSO sollte in der Lage sein, eine E-Mail-Adresse zurückzugeben, damit Sie Nutzer verknüpfen können. Manchmal müssen Sie explizit die Erlaubnis beantragen (welche Facebook benötigt).
Der entscheidende Punkt dieses Ansatzes besteht darin, dass die OAuth2-Bibliothek in Ihren Back-End-Diensten nicht vollständig verwendet wird, da sie jetzt in der mobilen App mithilfe des SDK des SSO-Anbieters gehandhabt wird.
Der Fluss ist in der folgenden Zeichnung zusammengefasst:
======== Bearbeitet:
Wir haben diesen Ansatz verwendet, um Facebook SSO mit einer mobilen App zu erstellen, und es hat sehr gut funktioniert. Die mobile App war in iOS und der Back-End-Dienst Spring Boot.
Diskussion ist willkommen.
Tags und Links spring spring-mvc spring-security spring-boot spring-social