Безопасно ли создавать учетную запись пользователя, используя id_token, предоставленный при входе в Google?

У меня есть расширение для Chrome, которое позволяет пользователям входить в систему исключительно с помощью Google, а не другого провайдера.

В моем бэкэнде (node ​​+ coachdb) мне нужно создать учетную запись пользователя из ответа авторизации, предоставленного google oauth2 API. Я думал об использовании хэша id_token в качестве пароля после проверки токена с помощью API информации о маркере

Я понимаю, что id_token время от времени меняется. В этом случае я надеялся автоматически обновить пароль пользователя.

Вот поток, который я имел в виду:

1) Пользователь входит во внешний интерфейс и получает идентификатор id_token от Google
2) Токен идентификатора отправляется на сервер и проверяется с помощью tokeninfo API
3) В случае подтверждения создается учетная запись пользователя с паролем. являющийся хешем id_token.

Видите ли вы какие-либо дыры в безопасности этого потока? Если да, то каковы альтернативы?


person dipole_moment    schedule 03.08.2015    source источник
comment
Возможно, лучше задать вопрос в Информационная безопасность.   -  person Xan    schedule 03.08.2015


Ответы (1)


Вероятно, постоянно менять пароли пользователей раздражает, и это слишком сильно привязывает вашу аутентификацию к Google. Что делать, если вы хотите реализовать вход в систему с паролем в будущем и т. д.

Вместо этого я бы рекомендовал использовать что-то вроде прокси-аутентификации.

http://docs.couchdb.org/en/latest/api/server/authn.html#api-auth-proxy

обязательно установите

[couch_httpd_auth]
proxy_use_secret = true

в конфиг.

На заметку: если вы синхронизируете пароль Couchdb с внешними секретами, как в вопросе, вы должны подписать пароль с помощью хешированного секрета, который вы полностью контролируете.

person Jan Johannes    schedule 06.08.2015