9

在 MVC4 C# 上使用 DotNetOpenAuth 为我的应用程序获取来自 Facebook、Twitter、Google+ 和 yahoo 的用户的身份验证。目前,除了 twitter 之外的所有提供商都将允许现有用户在返回站点时无需请求许可即可登录。

我注意到 Twitter 在其页面上的权限请求上有一个“记住我”复选框。即使我选择了它,下次它仍然会询问我的 Twitter 用户名和密码。其他三个提供商会自动对我进行身份验证,而不会看到他们的登录页面。

如何让用户通过 Twitter 登录回到我的网站,而不是再次通过权限请求?

4

2 回答 2

4

我认为这是因为 Twitter 要求您登录 Twitter。

反过来说,“记住我”按钮会记住用户已授权 Twitter 与您的网站共享其用户数据,并且他们接受下次使用其帐户登录您的网站。但是您仍然必须登录 Twitter 才能获得特定会话的授权。

因此,当用户已经登录 Twitter 时,如果选中了“记住我”复选框,他们就不需要登录您的网站。

另请参阅开发人员文档 - 登录流程说:

Twitter 会跟踪授权,因此对于已经登录到 twitter.com 并已授权该应用程序的用户,不会显示任何 UI - 相反,他们会自动重定向回该应用程序。

如果用户已登录 twitter.com 并已授予对网站的访问权限,则此重定向会立即发生。

于 2012-10-22T12:16:23.347 回答
1

看看这个问题和关于DNOA和Twitter之间具体交互的答案

MVC4 的 DotNetOpenAuth TwitterClient 示例不尊重先前的登录

于 2012-11-03T09:08:14.733 回答