20

Express.js を使用して認証サービスを構築しようとしていますが、認証モジュールのアイデアがまだわかりません。

パスポートとoauthミドルウェアの違いは何ですか? 彼らはお互いに依存していますか?BearerStrategy 検証へのトークンを生成するための oauth サーバーなしで BearerStrategy を使用するのは無意味ですか? 私は正しい道を進んでいますか?

oAuth2 とその認証フローについて読んだことがありますが、この結合されていないコードでまだ迷っています。

バックエンド API と通信する AngularJS フロントエンドの更新トークンを使用してリソース所有者パスワード認証を構築しようとしていますが、反対側で oauth2orize を使用した password.js 戦略 (基本、ベアラー、ClientPassword) の多くの組み合わせに直面しています。 .

そこで、NodeJS で認証がどのように機能するかについて、非常に簡単な説明を知りたいと思います。Express が認証の仕組みの新しい方法を発明しているわけではないことは本当にわかっていますが、モジュールがあまりにも目立たないため、それらが連携して機能するためにどのように機能するかの基本を理解する必要があります。

4

1 に答える 1

51

Passport は認証ミドルウェアです。OAuth は認可ミドルウェアです。

違いを理解するには:

認証とは、誰かが本当に本人であることを確認するプロセスです。

承認とは、誰に何を許可するかを決定する規則を指します。たとえば、Bobb にはデータベースの作成と削除が許可され、Bobbette には読み取りのみが許可されます。

言い換えると。認証はユーザー名 + パスワードです。認可は、あなたができることです。

Passport を使用すると、API へのアクセスを許可する前にユーザーを認証できます。ユーザーが認証後にアクションの実行を許可されているかどうかを確認することはできません (直接的には可能です)。

認証と承認の詳細については、このウィキペディアを確認してください。

Passport ではなく OAuth でできることは、ユーザーが自分の個人情報へのサービス アクセスを許可できるようにすることです。また、ユーザーは特定の特権 ( OAuthのスコープ) を許可または禁止することもできます。

多くの OAuth フレーバーがあることに注意してください。最も一般的なのは、Facebook または Google で承認するときに見られる承認付与タイプのバージョンです。しかし、あなたが言及したリソース所有者のパスワード戦略を含め、他にも多くの戦略があります。

于 2016-04-08T08:33:41.950 に答える