0

ユーザーが Twitter ID を使用してサイトにログインできるように、Twitter で OAuth を実装しようとしています。このために、TweetSharp ライブラリを使用しています。彼らが持っている例に従って、動作するように見える次のコードを書きました。

        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 を実装しており、システムにログインするたびにアプリケーションを承認する必要はありません。

4

2 に答える 2