Я понимаю разницу между аутентификацией Passport.js Basic и Digest, но в чем разница между локальной стратегией и Basic или Digest? Во всех трех случаях вы вводите имя пользователя и пароль. Является ли базовая стратегия типом пользователя & аутентификация пароля? Просьба уточнить.Каковы различия между локальной базой и дайджестом в паспорте
ответ
Если я правильно понимаю, различия между стратегиями Local, Basic и Digest в Passport.js являются тонкими, но важными. Вот краткое изложение:
Местный (passport-local)
локальная стратегия Passport является простой имя пользователя и пароль схема аутентификации. Он находит пароль пользователя от имени пользователя (или другого идентификатора) и проверяет, соответствуют ли они. Основное различие между локальной стратегией и двумя другими стратегиями заключается в использовании постоянных сеансов входа в систему. Эта стратегия должна использоваться по протоколу SSL/TLS.
Basic (passport-http)
Базовая стратегия реализуется Passport выглядит почти идентично местной стратегии, с одной тонкой разницей. Основная стратегия должна использоваться с конечными точками API, где архитектура не имеет статуса. В результате сеансы не обязательно, но могут быть использованы. Эта стратегия также должна использовать SSL/TLS. Флаг сеанса может быть установлен следующим образом:
app.get('/private', passport.authenticate('basic', { session: false }), function(req, res) {
res.json(req.user);
});
Digest (passport-http)
стратегия дайджеста тонко отличается от двух других стратегий, в том, что она использует специальный парадигму запрос-ответ, с тем чтобы не отправляйте пароль в открытом виде. Эта стратегия будет хорошим решением, когда SSL/TLS не будет доступен.
Это хорошая статья на Основном против Digest: How to Authenticate APIs
Примечание: Все три стратегии делают поддержку сессии необязательными. Эти две стратегии паспортного HTTP позволяют установить флаг сеанса в то время как паспорт docs говорить об этом, о паспортной локальной стратегии:
Обратите внимание, что включение поддержки сеанса совсем не обязательно, хотя и рекомендуется для большинства применений.
Если вы используете локальную стратегию паспорта: - сеанс установлен, поэтому вам не нужно отправлять кредиты по каждому запросу; - имя пользователя и пароль указаны в заголовках «username» и «password» по умолчанию;
Если вы используете стратегии Passport Basic/Digest: - сеанс не используется, поэтому вы должны предоставить учетные данные при каждом вызове API; - имя пользователя и пароль/хэш содержатся в заголовке «Авторизация»;
- 1. Каковы различия между этими вставками?
- 2. Каковы различия между типами запросов?
- 3. Каковы различия между компилятором и компоновщиком?
- 4. Каковы различия между запросами linq и linqToSql?
- 5. Каковы различия между [Serializable] и [Serializable()]
- 6. Каковы различия между MySQL = и <>
- 7. Каковы текущие различия между jQuery и Prototype?
- 8. Каковы различия между FLAG_ACTIVITY_RESET_TASK_IF_NEEDED и FLAG_ACTIVITY_CLEAR_TOP | FLAG_ACTIVITY_SINGLE_TOP?
- 9. Каковы различия между 'Bind' и 'Activate
- 10. Каковы различия алгоритмов между JPEG и GIF?
- 11. Каковы различия между препроцессорами C и C++?
- 12. Каковы отношения/различия между видимостью и порядком?
- 13. Каковы основные различия между Flink и Storm?
- 14. Каковы различия между mobiledata и облачными сервисами?
- 15. Каковы различия между OLEDB и ODBC?
- 16. Каковы различия между MSBuild и TFSBuild
- 17. Каковы практические различия между монго и монго?
- 18. Каковы различия между методами nibNameOrNil и ViewDidLoad?
- 19. Каковы различия между DexClassLoader и PathClassLoader?
- 20. Каковы различия между SPRITE и PNG?
- 21. Каковы различия между шаблонами Decorator и Adapter?
- 22. Каковы различия между потоком и образцом?
- 23. Каковы различия между модулями PyMsSQL и _MSSql
- 24. Каковы различия между GtkEntry и GtkTextView?
- 25. Каковы различия между Rational rose и Netbeans?
- 26. Каковы различия между Конда и Anaconda
- 27. Каковы CSS различия между IE и Firefox
- 28. Каковы различия между MediaPlayer, MediaSessionCompat и RemotePlaybackClient
- 29. Каковы различия между XMLHttpRequest и HttpRequest
- 30. Каковы различия между PECL и PEAR?
«Основная стратегия должна использоваться с конечными точками API, где архитектура без гражданства» - что вы подразумеваете под апатридом? Можете привести несколько примеров?Если я правильно понимаю, локальная стратегия - это «Если вы уже поддерживаете пользовательские сеансы, например, чтобы сохранить временные переменные за сеанс, тогда cookie уже идентифицирует сеанс, и бессмысленно отправлять имя пользователя и пароль каждый раз ». – Oren
Основная стратегия использует заголовок 'authentication' для аутентификации, см. Https://github.com/jaredhanson/passport-http/blob/master/lib/passport-http/strategies/basic.js#L68 – Vadim
@Vadim Спасибо! ! u сохранить мою жизнь :) –