Как хранить конфиденциальные пользовательские данные в приложении Django?
Все пользователи в моем Django-приложении имеют уникальные API-ключи от стороннего сервиса. Функция в моем приложении, которую я создаю, требует получения api ключа по отношению к текущему пользователю.
Какова наилучшая практика здесь и лучшие варианты?
Вы можете зашифровать свои API-ключи и хранить их в базе данных.
Эта библиотека django (поддерживаемая Jazzband) может помочь вам в этом.
from encrypted_fields.fields import EncryptedTextField
class API_key(models.Model):
key = EncryptedTextField()
Примечание:
- Шифрование и дешифрование производится в приложении django, а не на сервере базы данных, в результате чего некоторые функции, такие как фильтрация, могут работать не так, как ожидалось .
- Зашифрованные поля не должны быть
indexed
,primary key
или иметьunique
ограничение.