我正在嘗試使用twitter實現OAuth,因此我的用戶可以使用他們的Twitter ID登錄到我的網站。爲此,我使用TweetSharp庫。按照他們的例子,我寫了下面的代碼,似乎工作。與TweetSharp一起使用Twitter OAuth每次用戶想要登錄時,都會被要求授權我的應用
public ActionResult Login(string oauth_token, string oauth_verifier)
{
var service = new TwitterService(consumerKey, consumerSecret);
if (oauth_token == null)
{
var requestToken = service.GetRequestToken(Request.Url.ToString());
var uri = service.GetAuthorizationUri(requestToken);
return new RedirectResult(uri.ToString(), false);
}
else
{
var requestToken = new OAuthRequestToken { Token = oauth_token };
OAuthAccessToken accessToken = service.GetAccessToken(requestToken, oauth_verifier);
service.AuthenticateWith(accessToken.Token, accessToken.TokenSecret);
TwitterUser user = service.VerifyCredentials(new VerifyCredentialsOptions());
TempData["response"] = string.Format("Your username is {0}", user.ScreenName);
return RedirectToAction("Success");
}
}
public ActionResult Success()
{
ViewBag.Response = TempData["response"];
return View();
}
但是,有一個問題。每次用戶登錄到系統時,Twitter都會要求他們授權應用程序,即使他們之前已經完成。有沒有辦法來防止這種行爲?我還在Facebook和Google上實施了OAuth,每次我想登錄系統時都不需要授權應用程序。