Chcę pobrać dane użytkownika z zewnętrznych serwisów wykorzystujących protokół oauth 2 typu twitter, google+ itd. Użytkownik klika na mojej stronie linka umożliwiającego mu zalogowanie do wymienionych serwisów - otwiera się u mnie NOWE OKNO - popup, w którym użytkownik wpisuje swoje dane logowania i następnie jest przekierowywany w tym popupie do strony http://localhost/MyService/GetAccessToken otrzymując z zewnętrznego serwisu typu twitter, google+ itd. 'code' - kod autoryzacyjny, na podstawie którego jest pobierany access token, a następnie popup ulega zamknięciu.
Czyli akcja kontrolera ma taką postać:
public ActionResult GetAccessToken(string code) { var accessToken = _service.GetAccessToken(code); return View(); }
Widok ma taką postać:
W zupełnie innej akcji kontrolera jest pobierany np. profil użytkownika z zewnętrznego serwisu - tylko, że aby go pobrać potrzebuję access tokena. I teraz pytanie - jak mam uzyskać dostęp do tego access tokena? Mam ten access token zapisać w sesji, ciasteczku czy gdzie w akcji GetAccessToken żeby był do niego dostęp w innej akcji? Bo zastanawiam się czy zapisanie access tokena w sesji czy ciasteczku jest bezpieczne, a może nie musi być? Ale potrzebuję dostępu do tego access tokena z poziomu innej akcji kontrolera.