Я чувствую, что я делаю что-то неправильно ...WebServer: GoogleWebAuthorizationBroker.AuthorizeAsync
GoogleWebAuthorizationBroker.AuthorizeAsync
предполагается открыть новое окно браузера, а затем пользователь может аутентифицировать себя ... НО! Я использую его на WebServer или даже в WorkerRole в облаке Azure, так как технически GoogleWebAuthorizationBroker.AuthorizeAsync
может открыть новое окно браузера на клиентской машине?
Это второй вопрос, который я задаю, но теперь это более конкретный вопрос, потому что я чувствую, что что-то пропущу. The first one имеет немного более подробную информацию о том, что я делаю.
Спасибо! Это не совсем ответило на мои все вопросы, но теперь я понимаю, что то, что я хочу, возможно, и я просто делаю что-то неправильно .... наконец, я нашел пропавший мир ... когда я использую gapi, мне нужно передать response_type: "code "вместо" токена ". Теперь на сервере я могу обменять код, чтобы получить доступ и обновить токен, и одна из сообщений на вашем веб-сайте поможет мне ее реализовать. Теперь я думаю, как создать экземпляр класса UserCredential, не вызывая GoogleWebAuthorizationBroker.AuthorizeAsync, потому что похоже, что мне не нужно его использовать, но, может быть, я что-то пропустил снова :) –
Я на самом деле никогда не пробовал смешивать gapi и .net клиент. Я хотел бы услышать, если вы заработаете. – DaImTo
Да, у меня это работает, и все выглядит идеально! Я отправляю код авторизации с клиента на сервер, сервер обменивает этот код на access_token + refresh_token, затем создаю экземпляр UserCredentials без использования GoogleWebAuthorizationBroker.AuthorizeAsync, а затем я могу использовать google api. Чтобы получить код авторизации на клиенте, response_type: «код» должен быть отправлен в gapi, и для того, чтобы получить refresh_token на сервере, клиент должен добавить «access_type»: offline to gapi. –