Я использую Google .NET OAuth2 library для авторизации пользователя. Кроме того мне нужен доступ к данным пользователя (например к календарям).
В примерах гугла есть такой кусок кода:
var result = await new AuthorizationCodeMvcApp(this, new AppFlowMetadata()).
AuthorizeAsync(cancellationToken);
Он отправляет пользователя на форму авторицазии гугла если юзер не залогинен, или возвращает объект, в котором хранятся так званые credentials. Я использую этот кусок в контроллере Login, но мне также нужны эти credentials в других частях сайта, что бы взаимодействовать с данными пользователя.
var service = new CalendarService(new BaseClientService.Initializer
{
HttpClientInitializer = result.<b>Credential</b>,
ApplicationName = "ASP.NET MVC Sample"
});
var items = service.CalendarList.List().Execute().Items;
Примерно так я могу получить список календарей юзера. Как и где хранить эти самые credentials, ведь это не простой символьный токен, а объект в котором хранится множество даных.