Wie lässt sich die folgende Lösung für die Authentifizierung am besten erstellen?Plattformübergreifende ServiceStack-Authentifizierung
Ich habe eine eigenständige (nicht mit MVC) ServiceStack REST-Service-Schicht. Dieser Dienst ist der Einstiegspunkt für alle meine Daten. Auf dem Client sind keine Daten gespeichert.
Ich habe mehrere Clients (ASP.Net MVC 4 Website, MonoTouch App, MonoDroid App, Silverlight App, MonoMac App, etc).
Ich möchte die Authentifizierung (Facebook, Twitter, etc) auf der Service-Ebene, einschließlich der Speicherung der Benutzer in der MongoDBAuthRepository, aber erlauben den Clients die Login-UI zur Verfügung stellen (will ich das?). Für die MVC-Site möchte ich beispielsweise den Remote-ServiceStack-Authentifizierungsdienst (einschließlich Facebook, Twitter) mit dem MVC-Authentifizierungssystem integrieren. Es scheint, als ob die tatsächliche Authentifizierung auf der Dienstseite stattfinden sollte, aber die Clientseite muss die Authentifizierungsantwort beibehalten.
Ich habe das Wiki gelesen, schaute auf SocialBootstrap, und lese das Forum, aber ich bin immer noch verwirrt, wie das auf verteilte Weise funktionieren soll.
Der Teil, den ich vermisse, ist, wenn ich die FB/Twitter-Authentifizierung im Browser (und folglich auf dem Client (mvc/mobile/etc)) Seite, wie übergebe ich diese Auth an den ServiceStack Remote-Service ? –
Der ServiceClient muss nur das 'ss-pid'-Cookie angeben, das implizit mit BasicAuth/DigestAuth zugewiesen oder explizit mit einem direkten Aufruf dem'/auth/* '-Dienst zugewiesen werden kann. Ansonsten kannst du das Cookie physisch zum ServiceClient hinzufügen, es ist nur ein Base62-kodiertes AuthSessionId guid – mythz
Ok, ich habe versucht, das zum Laufen zu bringen, aber ich glaube, mir fehlt * noch * etwas. Der Benutzer meldet sich auf dem Telefon bei twitter/facebook an und versucht dann, sich bei meinem ServiceStack-Dienst anzumelden oder auf einen Dienst zuzugreifen, für den eine Authentifizierung erforderlich ist. Was Auth-Anbieter auf Service? Welche Parameter müssen übergeben werden? Welches Passwort muss eingestellt werden? http://imageshack.us/a/img84/5415/servicestackoauthfromcl.png http://imageshack.us/a/img607/5415/servicestackoauthfromcl.png –