Какая разница между паспортом и оаутом?

Я пытаюсь создать службу проверки подлинности с помощью express.js, но пока не понял идею модулей аутентификации.

Какая разница между паспортом и промежуточным программным обеспечением oauth? Являются ли они зависимыми друг от друга? Бесполезно ли иметь BearerStrategy без сервера oauth для генерации токенов для подтверждения BearerStrategy? Я на правильном пути?

Я читал о oAuth2 и его потоке аутентификации, но я все еще теряюсь с этим несвязанным кодом.

Я пытаюсь создать аутентификацию пароля владельца ресурса с помощью токена обновления для моего интерфейса AngularJS, взаимодействующего с API-интерфейсом, и я сталкиваюсь со многими комбинациями стратегий password.js(Basic, Bearer, ClientPassword) с oauth2orize on с другой стороны.

Итак, я хотел бы узнать очень простое объяснение того, как работает аутентификация в NodeJS. На самом деле я знаю, что Express не изобретает новый способ работы с аутентификацией, но модули слишком ненавязчивы, что мне нужно понять, как это работает для их совместной работы.

Ответ 1

Паспорт - это промежуточное программное обеспечение для проверки подлинности. OAuth является промежуточным программным обеспечением авторизации.

Чтобы понять разницу:

Аутентификация - это процесс подтверждения того, что кто-то действительно является тем, кем он себя утверждает.

Авторизация относится к правилам, определяющим, кому разрешено что-то делать. Например. Бобу может быть разрешено создавать и удалять базы данных, в то время как Bobbette разрешается читать только.

Иными словами. Аутентификация - это ваше имя пользователя + пароль. Авторизация - это то, что вам разрешено делать.

Паспорт позволит вам аутентифицировать пользователя, прежде чем разрешить доступ к вашему API. Это не позволяет (прямо, возможно) разрешить проверять, разрешено ли пользователю выполнять действие после аутентификации.

Отметьте Wikipedia для получения дополнительной информации об аутентификации и авторизации.

То, что OAuth делает в этом Passport, заключается в том, что он позволяет пользователям предоставлять доступ к своей личной информации. Он также позволяет пользователям разрешать или запрещать определенные привилегии (области действия в OAuth).

Заметьте, что существует много ароматов OAuth. Наиболее распространенной является версия с типами разрешений, которые видны при авторизации с помощью Facebook или Google. Но есть много других, включая указанную вами стратегию пароля владельца ресурса.