今日、私はトークン認証を自分のウェブサイトの他の部分と統合しようとしていましたが、コードをテストしたところ、うまくいきませんでした。私はそれが以前に働いたことを知っていると私はそれについて何も起こっていない何かを変更していない?(Tweetinvi) - AuthFlow.CreateCredentialsFromVerifierCode(verifierCode、token);戻り値null
私はFacebookとLinkedIn認証のための私のコードで同じ問題を抱えています。
最初から私はTweetinviのwikiページに行きました:https://github.com/linvi/tweetinvi/wiki/Authentication そして私はコードをテストしてデバッグしました。
まず、ValidateTwitterAuth ActionResultの(token = new AuthenticationToken)がnullになっているという問題がありましたが、それは働いていた命令に続いて修正されました。しかし、次の問題は、ITwitterCredentialsのuserCredsはnullと私はなぜ考えていないのですか?
どうすれば修正できますか? この問題の原因は、他のトークンハンドラの動作を停止させる原因と同じですか?
マイコード:
(ホームコントローラの一部)
(私はアプリ-idとアプリ-秘密を削除しましたが、私は問題ではありませんえー、彼らはので、それらをチェックする)
private IAuthenticationContext _authenticationContext;
// Step 1 : Redirect user to go on Twitter.com to authenticate
public ActionResult TwitterAuth()
{
var appCreds = new ConsumerCredentials("APP-ID", "APP-SECRET");
// Specify the url you want the user to be redirected to
var redirectURL = "http://" + Request.Url.Authority +"/Home/ValidateTwitterAuth";
_authenticationContext = AuthFlow.InitAuthentication(appCreds, redirectURL);
return new RedirectResult(_authenticationContext.AuthorizationURL);
}
public ActionResult ValidateTwitterAuth()
{
var token = new AuthenticationToken()
{
AuthorizationKey = "APP-ID",
AuthorizationSecret = "APP-SECRET",
ConsumerCredentials = new ConsumerCredentials("APP-ID", "APP-SECRET")
};
// Get some information back from the URL
var verifierCode = Request.Params.Get("oauth_verifier");
// Create the user credentials
ITwitterCredentials userCreds = AuthFlow.CreateCredentialsFromVerifierCode(verifierCode, token);
// Do whatever you want with the user now!
ViewBag.User = Tweetinvi.User.GetAuthenticatedUser(userCreds);
string access_token = userCreds.AccessToken;
string access_token_secret = userCreds.AccessTokenSecret;
return RedirectToAction("Index", "Home");
}
事前に
おかげ
本当にありがとうございました。私のトークンハンドラが突然すべて機能しなくなって、本当に悪いと感じました。しかし、今それは1つ、2つ行く:) – TheRWS96