在用户通过 oauth 进程后,我将来自 Twitter 的 oauth 信息存储在 Flash Cookie 中。 Twitter 表示,只有当 Twitter 或用户撤销应用程序的访问权限时,此 token 才会过期。
我可以调用 Twitter 以验证我存储的 token 没有被撤销吗?
最佳答案
这个问题可能很老,但这个问题是为谷歌人(比如我自己)准备的。
这是使用 Hammock 对 twitter 的调用:
RestClient rc = new RestClient {Method = WebMethod.Get};
RestRequest rr = new RestRequest();
rr.Path = "https://api.twitter.com/1/account/verify_credentials.json";
rc.Credentials = new OAuthCredentials
{
ConsumerKey = /* put your key here */,
ConsumerSecret = /* put your secret here */,
Token = /* user access token */,
TokenSecret = /* user access secret */,
Type = OAuthType.AccessToken
};
rc.BeginRequest(rr, IsTokenValid);
这是回应:
public void IsTokenValid(RestRequest request, RestResponse response, object userState)
{
if(response.StatusCode == HttpStatusCode.OK)
{
var user = userState;
Helper.SaveSetting(Constants.TwitterAccess, user);
}
else
{
Dispatcher.BeginInvoke(() => MessageBox.Show("This application is no longer authenticated "))
}
}
我总是从 SO 那里借用解决方案,这是我第一次尝试回馈,尽管这个问题已经很晚了。
关于twitter - 在 Twitter 上验证 OAuth token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6155296/