Я создаю мобильное приложение, использующее Google App Engine (python) для бэкэнд. Пользователи регистрируются в приложении Twitter, а токен и секрет аутентификации передаются на бэкэнд (более https), чтобы сервер мог аутентифицироваться с помощью Twitter, а также периодически синхронизировать друзей и последователей в фоновом задании. Поскольку они используются фоновым потоком, я хочу сохранить информацию в хранилище данных, чтобы их можно было восстановить и использовать позже.Как безопасно хранить внешние учетные данные в Google App Engine
Прямо сейчас, во время разработки и тестирования, я просто помещал их в хранилище в виде обычного текста. Но я хотел бы добавить немного больше безопасности, сохраняя его зашифрованным и расшифровывая его, когда это необходимо. Спасибо за любую помощь!
Для общих паролей учетных записей, я использую
security.generate_password_hash(raw_password, length=12)
основан на том, как webapp2_extras
хранит пароли. Но этот подход не позволил бы мне получить данные. Есть ли что-то подобное, что позволяет шифровать и расшифровывать?
Пока не ответ на вопрос, как первоначально поставленные, я думаю, самое безопасное решение пересмотреть эту проблему и на самом деле не полагаться на выборку, что данные из хранилища данных. Я могу начать синхронизацию друга/последователя при каждом повторном входе пользователя (с некоторыми дополнительными условиями, чтобы не делать этого при каждом входе в систему). Пользователь во время входа в систему будет предоставлять свой токен аутентификации twitter и секрет аутентификации, и я могу передать это непосредственно на нужную им задачу. –
О, и если я хочу сохранить свои учетные данные twitter для повторной авторизации пользователя без подтверждения учетных данных с помощью твиттера, я могу рассматривать как auth_token, так и auth_secret как пароли в хранилище данных и проверять предоставленные пользователем значения против них. (И подтвердите с Twitter, если только что предоставленные учетные данные не соответствуют тому, что кэшируется в хранилище данных) –