在我的应用程序上使用MVC4 C#上的DotNetOpenAuth从Facebook,Twitter,Google +和雅虎获取用户身份验证。目前除了twitter之外的所有提供商都将允许现有用户在返回该站点时仅在没有请求许可的情况下登录。
我注意到Twitter在其页面上的权限请求上有一个“记住我”复选框。即使我选择它,它仍然会在下次询问我的Twitter用户名和密码。其他三个提供商会自动验证我,而不会看到他们的登录页面。
如何让用户通过Twitter登录我的网站登录,不再通过权限请求?
答案 0 :(得分:4)
我认为这是因为Twitter要求您登录Twitter。
反过来说,“记住我”按钮记得用户授权Twitter与您的网站共享他们的用户数据,并且他们接受使用他们的帐户下次登录您的网站。但您仍然需要登录Twitter才能获得特定会话的授权。
因此,当用户已登录Twitter时,如果选中“记住我”复选框,则无需登录您的网站。
另见developer documentation - sign in flow说:
Twitter会跟踪授权,因此对于已经登录到已授权应用程序的twitter.com的用户,不会显示任何UI - 而是会自动将其重定向回应用程序。
和
如果用户已登录twitter.com并已授予对该网站的访问权限,则此重定向会立即发生。
答案 1 :(得分:1)
看看这个问题以及关于DNOA和Twitter之间特定互动的答案
MVC4's DotNetOpenAuth TwitterClient sample does not respect prior login