2016-04-08 11 views
11

私はexpress.jsで認証サービスを構築しようとしていますが、まだ認証モジュールのアイデアは見当たりませんでした。パスポートとoauthの違いは何ですか?

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

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

バックエンドAPIと通信するAngularJSフロントエンドのリフレッシュトークンを使用してResourse Owner Password認証を構築しようとしていますが、oauth2orizeを使用してpassword.js戦略(Basic、Bearer、ClientPassword)反対側に。

ここで、NodeJSでの認証の仕組みを簡単に説明したいと思います。本当に私はExpressが認証の仕組みの新しい方法を発明していないことを知っていますが、モジュールがあまりにも控えめで、一緒に働く仕組みの基礎を理解する必要があります。

答えて

27

認証ミドルウェアです。 OAuthは承認ミドルウェアです。違いを理解することが

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

認可とは、誰が何をすることができるかを決定するルールのことです。例えば。 Bobはデータベースの作成と削除を許可され、Bobbetteは読み取りのみが許可されます。

つまり、認証はユーザー名+パスワードです。許可はあなたが許可されているものです。

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

認証と認証の詳細についてはWikipediaをご確認ください。

Passportでは何のOAuthを使用しても、ユーザーが個人情報にサービスアクセスを許可することができます。また、ユーザーは特定の権限を許可または拒否することもできます(スコープ、OAuth)。

OAuthのフレーバーがたくさんあることに注意してください。最も一般的なのは、FacebookやGoogleで承認する際に表示される承認認可タイプのバージョンです。しかし、あなたが言及したリソースオーナーパスワード戦略を含む多くの他のものがあります。

+2

ありがとうございました!私は、認証と認可の違いのような些細なことに気づいたことはありません!あなたは私の疑いの正確なポイントに行った!再度、感謝します! ;) –

関連する問題