我正在使用 VS2012 Web 表单模板来构建一个访问 Twitter 的站点。所有登录都使用 OAuth 完成,并且仅针对 Twitter,但我想保留模板化外部登录框架,特别是“RegisterExternalLogin”页面,因为它为我处理本地成员身份问题。
在 RegisterExternalLogin 页面中,此代码
var authResult = OpenAuth.VerifyAuthentication(redirectUrl);
很高兴地在 authResult.ExtraData['accesstoken"] 中为用户提供 AccessToken,这是我认为我需要的,但事实证明 LinqToTwitter 需要 2 个这样的令牌:
SessionStateCredentials cred = new SessionStateCredentials
{
ConsumerKey = ConfigurationManager.AppSettings["twitterConsumerKey"],
ConsumerSecret = ConfigurationManager.AppSettings["twitterConsumerSecret"],
AccessToken = MyUsersAccessToken,
OAuthToken = [AnOAuthToken] //we no have?
};
其中 [AnOAuthToken] 是 .Net 的 OpenAuth 返回的 authResult 对象中似乎不存在的一段数据。
使用上述凭据 Linq2Twitter 在尝试基于用户的操作(如列表订阅)时返回“401 未授权”,我很确定它与缺少的 OAuthToken 值有关。
很确定我有一个错误的概念或遗漏了一些愚蠢的东西....任何指导表示赞赏!