Verwenden von DotNetOpenAuth auf MVC4 C # für meine Anwendung, um die Authentifizierung für Benutzer von Facebook, Twitter, Google+ und Yahoo zu erhalten. Derzeit erlauben alle anderen Anbieter als Twitter bestehenden Benutzern, sich einfach anzumelden, ohne um Erlaubnis zu fragen, wenn sie auf die Website zurückkehren.
Ich habe bemerkt, dass Twitter ein "Remember me" -Kontrollkästchen bei der Erlaubnisanfrage auf seiner Seite hat. Auch wenn ich es auswähle, fragt es mich beim nächsten Mal nach meinem Twitter Benutzernamen und Passwort. Die anderen drei Anbieter authentifizieren mich automatisch, ohne ihre Anmeldeseite zu sehen.
Wie bekomme ich Nutzer, die über Twitter auf meine Website zurückkehren, um die Berechtigungsanfrage nicht erneut zu durchlaufen?
Ich denke, das liegt daran, dass Twitter erfordert, dass Sie bei Twitter angemeldet sind.
Anders gesagt, der "Remember me" -Button merkt sich, dass ein Nutzer Twitter autorisiert hat, seine Nutzerdaten mit Ihrer Website zu teilen und dass er sich annimmt, sein Konto zu verwenden, um sich das nächste Mal bei Ihrer Website anzumelden. Sie müssen jedoch immer noch bei Twitter angemeldet sein, um für die jeweilige Sitzung berechtigt zu sein.
Wenn ein Nutzer bereits in Twitter angemeldet ist, muss er sich nicht für Ihre Website anmelden, wenn das Kontrollkästchen "Remember me" aktiviert wurde.
Siehe auch die Entwicklerdokumentation - melden Sie sich an und sagen Sie:
Twitter verfolgt die Berechtigungen, sodass für Benutzer, die bereits bei twitter.com angemeldet sind und die Anwendung autorisiert haben, keine Benutzeroberfläche angezeigt wird - stattdessen werden sie automatisch zurück zur Anwendung geleitet.
und
Wenn der Benutzer bereits bei twitter.com angemeldet ist und Zugriff auf die Website gewährt hat, erfolgt diese Weiterleitung sofort.
Werfen Sie einen Blick auf diese Frage und die Antwort auf die spezifische Interaktion zwischen DNOA und Twitter
Das DotNetOpenAuth TwitterClient-Beispiel von MVC4 respektiert keine vorherige Anmeldung
Tags und Links asp.net-mvc c# oauth twitter-oauth dotnetopenauth