Для справки, здесь поток Google+, что я работаю с:Google OAuth2 Вход с AngularJS обратного вызова
https://developers.google.com/+/web/signin/server-side-flow
- Пользователь нажимает на кнопку входа. Запрос авторизации отправляется на серверы OAuth Google,
диалог- OAuth инициируется для пользователя
- access_token, id_token и одноразовый код возвращаются
- Клиент посылает id_token и код сервера
- обменов один сервер -время код access_token
- Google возвращает access_token
- сервер должен подтвердить «полностью вошли в» Клиенту
У меня уже есть это в основном работаю, но я хотел бы AngularJS знать, когда клиент «полностью вошел в системе» на шаге 7.
В идеале я хотел бы шаг 3, чтобы быть обработан с помощью контроллера AngularJS, но Я не уверен, что это возможно.
Знак в кнопки здесь:
<!-- Add where you want your sign-in button to render -->
<div id="signinButton">
<span class="g-signin"
data-scope="https://www.googleapis.com/auth/plus.login"
data-clientid="YOUR_CLIENT_ID"
data-redirecturi="postmessage"
data-accesstype="offline"
data-cookiepolicy="single_host_origin"
data-callback="signInCallback">
</span>
</div>
<div id="result"></div>
Параметр данных обратного вызова позволяет мне определить функцию, но я могу только получить его на работу на глобальных функций.
Единственное, что я могу придумать, это заставить AngularJS постоянно проверять сервер на наличие обновлений на всякий случай, когда пользователь входит в систему, но мне было интересно, есть ли способ сделать эту работу внутри структуры событий так, чтобы все мгновенно.
Независимо от того, возможно ли это или нет, я был бы очень признателен за любые советы о том, как я должен это делать. Пожалуйста, дай мне знать, если возникнут какие-либо вопросы. Спасибо!
Как вы его решили? Я попытался передать функцию в качестве ссылки на callbalck, но не работает. – vintem
@VinTem Ключ для меня передавал строку, представляющую идентификатор элемента, а не элемент угловой (jqlite). – alalonde
Чтобы сделать это еще проще, я нашел эту симпатичную небольшую угловую директиву, которая выполняет работу по созданию кнопки google plus, открывая окно и сохраняя токен доступа в orgin-окне, которое затем вы можете отправить на свой сервер, чтобы получить информацию о пользователе. https://github.com/sirkitree/angular-directive.g-signin – craigvl