To nie jest pytanie stricte związane z PHP.

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ć:
  1. public ActionResult GetAccessToken(string code)
  2. {
  3. var accessToken = _service.GetAccessToken(code);
  4.  
  5. return View();
  6. }


Widok ma taką postać:
  1. @if (Request.QueryString["code"] != null)
  2. {
  3. <text>
  4. window.close();
  5. window.opener.location.reload();
  6. </script>
  7. </text>
  8. }


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.