Проблемы безопасности с GAE user_id в качестве ключа хранилища данных

Хорошо известно, что единственный надежный способ обеспечить уникальное свойство в виде хранилища данных Google Cloud - это ключевое свойство. Допустим, мы создавали приложение Google AppEngine (GAE), используя API пользователей Google для аутентификации пользователей, и мы хотели создать вид под названием Profile. Для каждого пользователя может быть только один профиль. Было бы целесообразно сохранить идентификатор объекта User в качестве ключевого свойства для обеспечения этой уникальности, верно? На самом деле, в документации API Google App Engine даже говорится следующее:

Использование пользовательских значений с хранилищем данных

Идентификатор пользователя стабилен; Вы можете использовать его в имени ключа или в качестве строкового свойства. Поэтому при использовании пользовательских значений вы хотите сохранить идентификатор пользователя

Но предположим, что наше приложение должно отображать в браузере гиперссылки на эти профили пользователей. Уместно ли формировать URL с user.user_id() строка? Не должен ли идентификатор пользователя рассматриваться как конфиденциальная информация? Учетная запись пользователя Google user_id одинакова во всех приложениях Google. Утечка в браузер кажется неправильной, но я не могу найти никаких запретов в документах GAE (если я что-то упустил).

Теперь, если идентификатор пользователя не должен быть передан клиенту, должен ли он быть хеширован? Или есть какой-то другой способ создать вид, в котором идентификатор пользователя Google должен быть уникальным?

Примечание: я в порядке, используя идентификатор пользователя в качестве ключа и сравнивая его с текущим пользователем в аутентифицированных конечных точках, например. Вопрос связан с тем, может ли он быть открыт для браузера (не кажется правильным), и если нет, то как в целом обрабатывать случаи, когда владельцу (пользователю приложения) ресурса (например, записи в блоге) необходимо быть видимым в приложении.

1 ответ

Решение

Похоже, что с Google Security все в порядке, если оно отображается через браузер

Google+ использует его в URL при отображении профиля пользователя и в качестве части URL своих сообщений.

Другие вопросы по тегам