C# MVC Перенаправить на мой контроллер после обратного вызова Twitter - PullRequest
0 голосов
/ 20 июня 2020

У меня есть сайт MVC, я подключился к Twitter через Tweetsharp. С подключением вроде нормально, у меня есть экранное имя и т. Д. c. но с того момента, как я перешел к методу обратного вызова, я не могу видеть ранее установленный пакет просмотра, временные данные, мой пользовательский контекст, ничего. Мой пользователь все еще вошел в систему, поэтому, если я обновляю sh свою страницу в браузере, я вижу, что мой пользователь вошел в систему, но в этот момент кажется, что он вышел из системы, идентификатор пользователя вышел из системы, et c.

Я просто хочу сохранить экранное имя и свой идентификатор пользователя, но там, где у меня есть идентификатор пользователя, я не вижу данные из Twitter, где я вижу данные из Twitter, там у меня нет контекста пользователя.

Обратный вызов в контроллере:

try
        {
            TwitterService service = new TwitterService(_consumerKey, _consumerSecret);
            OAuthAccessToken accessToken = service.GetAccessToken(requestToken, oauth_verifier);
            service.AuthenticateWith(accessToken.Token, accessToken.TokenSecret);
            VerifyCredentialsOptions option = new VerifyCredentialsOptions();
            TwitterUser user = service.VerifyCredentials(option);
            TempData["TwUser"] = user;
            var name = User.Identity.Name; // I cannot see my logged in User's name here !

            return View();
        }

Я сделал просмотр для этого контроллера обратного вызова, я подумал, что это может помочь ...

@{

TweetSharp.TwitterUser twUser = TempData["TwUser"] as TweetSharp.TwitterUser; // Here I can see my Twitter User

var name = User.Identity.Name; // I cannot see my logged in User's name here !

var url2 = Request.Url.OriginalString; // http://localhost:13131/Twitter/TwitterCallback?oauth_token={...}&oauth_verifier={...}
var url3 = Request.Url.ToString(); // http://localhost:13131/Twitter/TwitterCallback?oauth_token={...}&oauth_verifier={...}
var url4 = Request.Url.AbsoluteUri; // http://localhost:13131/Twitter/TwitterCallback?oauth_token={...}&oauth_verifier={...}

Response.Redirect("~/Home/Index"); // Nothing happens

TwTester.Controllers.TwitterController.TwitterTest(twUser.ScreenName);  // static method, called and I can see there the Twitter name

}

Я пытался перенаправить на свой URL-адрес , тогда сайт обновится, я снова получу данные о пользователях моего приложения и т. д. c. но не работает. С вызовами Javascript, Jquery ничего не происходит, я пытался вызвать метод контроллера stati c с параметром name, он работает, но все еще нет пользовательского контекста.

Я хочу использовать в одном месте и в то же время пользователя моего приложения, а также имя и ссылку в твиттере sh мою страницу для отображения данных.

У вас есть идеи, как я могу решить эту проблему?

Заранее благодарим

РЕДАКТИРОВАТЬ: Решено, это была проблема браузера

...