我正在使用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在尝试使用List订阅等基于用户的操作时返回“401未授权”,我很确定它与丢失的OAuthToken值有关。
我很确定我的概念错了或遗漏了一些愚蠢的东西....任何指导都赞赏!