2017-01-05 4 views
1

Как представляется, не существует четкого объяснения того, что такое стратегия аутентификации и какую роль она играет.Что такое стратегия аутентификации

Это то, что я думаю, что это может быть так далеко (пожалуйста, поправьте меня, если я ошибаюсь):

Оказывается, что для каждого типа входа есть стратегия (Google, facebook, местные и т.д.).

Стратегия создается, а затем добавляется в объект паспорта, а объект паспорта используется для подписания токена, который используется для (un) указанного времени. Однако имя пользователя и пароль не проверяются с помощью jwt или паспорта.

+0

Паспорт.js является базой по шаблону проектирования, называемому Стратегия. Поэтому он создает различные стратегии (классы) для каждого конкретного случая (google, facebook и т. Д.). – Hosar

ответ

1

Стратегия аутентификации в паспортных документах не так уж сложна - она ​​в основном обрабатывает «аутентификацию» пользователя.

Так, например, с помощью Passport LocalStrategy, это займет имя пользователя/пароль, а затем проверит базу данных, чтобы узнать, являются ли эти учетные данные действительными или нет.

С помощью таких функций, как Google Login/Facebook Login Strategies, они просто будут использовать API входа в Google API для входа в Google/Facebook, чтобы перенаправить пользователя в Google/Facebook, разрешить им принимать необходимые разрешения для приложения, а затем получить полученный доступ токен от поставщика.

Существуют стратегии, позволяющие легко сделать паспорт аутентифицировать пользователя несколькими способами.

+0

пару вопросов. Если facebook создает токен, наш сервер хранит этот токен, как локальный токен? Затем проверка этого токена на запросы пользователя? Итак, секрет в нашем приложении «facebook» будет secretOrKey? Если мы будем использовать facebook, не будет ли facebook управлять временем истечения срока? – user2331566

+0

Как видно из прочтения стратегии паспорт-facebook на Github, вся эта стратегия даст вам доступ к токена доступа/обновления от Facebook, тогда вы должны определить свой собственный обратный вызов для обработки пользователя после этой точки. Поэтому вам нужно написать эту логику. – rdegges

Смежные вопросы