2015-07-28 4 views
1

Я реализовал API приложений Google в веб-приложении MVC, чтобы получить доступ к Admin SDK для добавления/удаления пользователей из учетной записи Google Apps. В моем веб-приложении сначала необходимо выполнить аутентификацию с помощью учетной записи Google Apps (OAuth 2.0), затем я храню accesstoken и обновляю информацию в хранилище базы данных. После этого API-интерфейс API-интерфейса API-интерфейса API для добавления/удаления пользовательских функций в веб-приложении использует режим «офлайн», так как он не отображает экран согласия.Доступ Google API из службы Windows

Но для аутентификации мне нужно использовать хранилище токенов базы данных (accesstokens/refreshtokens). Как я могу это сделать?

Мое требование похоже на this question. Но проблема в том, что контент изменен, а URL-адреса для этих образцов больше отсутствуют.

ответ

1

Я не мог выполнить эту задачу по-хорошему, мне пришлось сделать несколько хаков. (Фактически, пока токен доступа жив, это может быть сделано, возникает проблема, когда нам нужно обновить токен).

Наконец, я реализовал проект WebAPI, который может обрабатывать токен, освежающий, работает почти так же, как приложение MVC. Служба Windows взаимодействует с проектом веб-API, когда ему требуется вызов API и получить ответ после выполнения задания.

+0

Привет, Данука, я знаю, что вы опубликовали этот вопрос и ответ два года назад, но я надеюсь, что вы все равно сможете помочь. В разработанном (взломанном) решении приложение MVC требует IIS? Можете ли вы объяснить немного больше о том, как вам нужно настроить машину, на которой будет работать служба, чтобы приложение MVC выполнялось? –

+0

Да, MVC WebAPI был размещен в IIS. Для машины, устанавливающей службу Windows, должен быть предоставлен доступ к конечной точке веб-API. Просто проверьте, обновляется ли токен API Google, есть ли новый способ/лучший способ сделать это. Когда я делал это, если бы была простая конечная точка, чтобы обновить токен, я бы этого не сделал. Основная проблема, насколько я помню, вам нужно передать контроллер обратного вызова, чтобы получить токен обновления. – Dhanuka777

+0

FYI: Если меня попросят сделать это снова, я не буду использовать библиотеку .Net, вместо этого вместо этого используйте их REST api :). Причина в том, что это довольно легко понять и понять. Когда оболочка .NET не поддерживает некоторые функции низкого уровня, вам нужно делать хаки. Что усложняет и усложняет работу. – Dhanuka777

Смежные вопросы