好的,这是我的问题。 我了解OAuth协议的过程,但我对此有一些疑惑。 我试图利用DotNetOpenAuth.Here是我没有得到的东西。 假设用户(新用户)尝试使用Twitter登录我的网站。 的过程是这样的(随时纠正我,如果我错了):使用DotNetOpenAuth的OAuth?
- 请求令牌的情况下(如果我的ConsumerKey和ConsumerSecret都OK)。
- 然后发出授权令牌并将用户重定向到Twitter。
- 用户授权我的应用程序。并发出访问令牌。
- 我得到当前用户的详细信息并将它们存储在数据库中(以及访问令牌)。
到目前为止,这么好。 现在这里是令人困惑的部分。用户注销。然后回来并尝试再次使用Twitter进行身份验证。我如何确定他的访问令牌?如果我在访问令牌之前无法获得他的身份?我有他的数据库,但我无法确定他是谁,然后再次通过相同的步骤。我确定我错过了一些东西,如果你指出,我会很感激。我知道IConsumerTokenManager,我试着对InMemoryTokenManager进行逆向工程,看看它是如何工作的,但它仍然不清楚。
谢谢您花时间回答我。我知道OAuth用于授权(它的名称正确:)),我已经为OpenId编写和测试了代码,并且使用您的框架轻而易举。我会随时推荐它。 (不幸的是)使用Facebook/Twitter身份验证的唯一方法是通过OAuth。我已经写了一个数据库的消费者令牌管理器,但是twitter每次都在不停地要求我授权......所以我想我错过了一些东西。 –