К сожалению, нет простого ответа на этот вопрос, потому что это зависит от приложений, с которыми вы пытаетесь аутентифицироваться, а также от того, насколько безопасно вы хотите, чтобы поля пароля были.
Если ваш Djangoприложение будет использовать пароль для аутентификации в другом приложении, для которого требуется отправка открытого текста, затем вы можете выбрать следующие варианты:
- Сохранить пароль в виде простого текста в вашей модели Django (ваш вопрос подразумевает, что вы нене хочу этого делать)
- Захватите мастер-пароль от пользователя, прежде чем он сможет разблокировать свой сохраненный пароль для других приложений
- Запутайте пароль в модели, чтобы он был доступен любомус необработанными разрешениями хранилища данных, но это не очевидно для обычных пользователей
Вы можете использовать пароль пользователя Django в качестве мастер-пароля, если вы используете встроенную пользовательскую модель Django.Это означает, что вам потребуется сохранить этот мастер-пароль в памяти, что может затруднить выполнение некоторых операций, таких как перезапуск сервера или запуск избыточных серверов с балансировкой нагрузки.
Альтернатива хранению паролей
* 1016К счастью, многие современные приложения поддерживают это по-другому, используя систему токенов доступа, которая основана на ключах, а не на паролях.Пользователи получают инструкции по настройке связи между двумя приложениями, а за кулисами приложения генерируют ключи для аутентификации друг друга либо на постоянной основе, либо с определенной датой истечения срока действия.
Например, Facebook поддерживаетэта модель, и у них есть обширная документация о том, как она работает:
Разработчики Facebook: токены и типы доступа
После того, как вам удалось установить связь с Facebook с помощью [OAuth 2.0](http://tools.ietf.org/html/draft-ietf-oauth-v2- 12) вам, вероятно, будет проще добавлять ссылки на другие приложения, использующие тот же протокол.