Я использую MVC sample code из Google для подключения к Google Диску. Однако я хочу реализовать свой собственный IDataStore
, чтобы я мог хранить учетные данные пользователя в моей базе данных.Google Drive Api - MVC IDataStore
С FileStorage образца все работает отлично, и я получаю Токен и RefreshToken и более того, он автоматически обновлять маркеры, когда истек.
, реализующий IDataStore
выглядит просто:
public class MyDataStore : IDataStore
{
public Task ClearAsync()
{
...
}
public Task DeleteAsync<T>(string key)
{
...
}
public Task<T> GetAsync<T>(string key)
{
...
}
public Task StoreAsync<T>(string key, T value)
{
...
}
}
Так в StoreAsync
я сохранить полномочия на моей базе данных, и на GetAsync
я получаю из базы данных.
Но странно при использовании этого я получаю access_token
, но refresh_token
не возвращается.
Я попытался выполнить поиск по образцам с использованием пользовательского IDataStore
, но я ничего не могу найти.
Любые идеи?
Большое спасибо
Have вы добавили «access_type = offline» в запросе кода авторизации, когда хотите обновить_токен? – gui47
Каждый раз, когда я вызываю api, я не получаю токен обновления. Я получаю только заполненный доступ access_token. Не уверен, что вы имеете в виду. Спасибо –
UserCredential и AuthorizationCodeFlow заботятся о автоматическом «обновлении» токена, что просто означает получение нового токена доступа. Это делается с использованием долгоживущего токена обновления, который вы получаете вместе с токеном доступа, если вы используете параметр access_type = offline во время потока кода авторизации. Вы можете найти информацию о своем URL-адресе кода. – gui47