Мы разрабатываем приложение Javascript для всей клиентской базы SPA и должны аутентифицировать наших пользователей, чтобы получить доступ к внутренним.Войти на одну страницу Приложение с аутентификацией Google и Google Oauth 2.0
Как я нашел из поиска, мы можем передать на аутсорсинг наш механизм аутентификации и использовать для этого учетные записи Google. Я узнал из этого сайта https://developers.google.com/accounts/docs/OAuth2Login - Как бороться с API Google и механизмом аутентификации.
В коротком слове, нам нужно:
- запрос отправить Google URL с Params попросить пользователя, чтобы позволить SPA использовать свои персональные данные
- в случае успеха мы получаем токен от Google
- , мы можем использовать этот токен, чтобы получить доступ к API, с которым нас попросили, и работать с ним.
Это хорошо описано, и я понимаю, что у меня есть код JS, чтобы это произошло.
То, что я не понимаю.
У меня есть приложение с его личными данными. Я хочу использовать электронную почту пользователя в качестве логина или идентификатора пользователя (не имеет значения, как его называть) для доступа к внутренним элементам приложения, таким как созданные пользователем задачи, профиль пользователя и т. Д. Таким образом, для отображения созданных пользователем задач в моем SPA Мне нужна база запросов с электронной почтой пользователя.
я представляю себе следующий сценарий:
- пользователь нажмите
Login with Google
кнопку - получаем маркер - это означает, что пользователь прошел проверку подлинности успешно
- мы упорствовать пользователя и его электронную почту для работы с SPA
- , когда пользователь нажмет
Logout
мы очищаем все данные доступа
Где я должен хранить эти данные?
В случае Forms Authentication
Я понимаю, что мы передаем логин/пароль к серверу, и если они совпадают с базой данных мы создаем Forms Ticket
и хранить его в печенье.
Есть ли аналогичный случай с авторизацией Google? Если я буду хранить электронную почту пользователя в cookie, я думаю, что это не очень хорошо из соображений безопасности. Если я сохраню токен - я не уверен, зачем мне это нужно и как его использовать в моем SPA, я не использую API Google после проверки подлинности.
У вас есть пример с примером, как мы можем построить наш процесс в подобных случаях?
спасибо.
FYI идентификатор пользователя и адрес электронной почты пользователя отличаются одним важным способом; пользователь может изменить свой адрес электронной почты, и идентификатор останется таким же для этого пользователя. –
В этом конкретном случае мы не будем изменять электронные письма внутри корпоративной сети. В общем, я попытался объяснить, что я буду использовать либо первый, либо второй, но это не имеет значения с точки зрения того, что я должен делать дальше. Если ID - нормально, давайте сохраним идентификатор пользователя в базе данных и запросим его по id, если электронная почта - все в порядке. Кстати, как я могу изменить электронную почту в Google? Возможно ли это? –
http://support.google.com/accounts/bin/answer.py?hl=ru&answer=19870 –