私はWebアプリケーションとAPIプロバイダの両方として使用したいnodejsアプリケーションを作成しています。ユーザーが認証されると、そのユーザーに後続の要求に使用されるトークンを割り当てたいと考えています。これは、セッション内のトークンを使用してユーザーをシリアライズおよび逆シリアル化するだけで、Webアプリケーションのパスポートとうまく動作します。ただし、APIリクエストに応答する場合、セッション情報を保存するよう設定するクッキーはありません。理想的には、パスポートはセッションと要求本体の両方でトークンを探します。これを達成するためにパスポートを構成する方法はありますか?nodejsパスポート認証トークン
65
A
答えて
124
すべてのリクエストでアクセストークンを使用してください。セッションを使用する必要はありません。次のワークフローです:
POST /signin
- ユーザ名とパスワードは、クライアントのリクエストに掲載されています。
- サーバーは、パスポートのローカル戦略を使用してユーザーを認証します。 passport-localを参照してください。
- 資格情報が有効なユーザーを表している場合、サーバーは一部のジェネレータによって生成されたアクセストークンを返します。 node-jwt-simpleは良い選択です。
- 資格情報が無効な場合は
/signin
にリダイレクトしてください。
クライアントが認証サーバーからアクセストークンを受信すると、クライアントはサーバー上の保護されたリソースに要求を送信できます。たとえば:
GET /api/v1/somefunction?token='abcedf'
- クライアントは、トークンの引数を持つ一部のサーバーAPIを呼び出します。
- サーバーは、パスポートのベアラー戦略を使用してトークンを認証します。 passport-http-bearerを参照してください。 bnuheroとして
参照
Make a secure oauth API with passport.js and express.js (node.js)
7
(そのアプローチは、あまりにもそのメリットを持っているが)あなたがセッションを必要としない言及しています。ここでは、私がこれから始めているボイラープレートプロジェクトを紹介します: https://github.com/roblevintennis/passport-api-tokens
これは代替案です。素敵な相互参照されることがあります。 http://scotch.io/tutorials/javascript/easy-node-authentication-setup-and-local
そして、1つの以上の基準関連: http://mherman.org/blog/2013/11/11/user-authentication-with-passport-dot-js/
関連する問題
- 1. Nodejsでのパスポート認証
- 2. Laravelパスポート認証とトークンの生成
- 3. パスポート認証付きnodejsエクスプレスアプリhttps
- 4. 静的パスの認証、nodejsパスポートhtml
- 5. パスポート認証
- 6. NodejsパスポートNodejsパスポートを使用して
- 7. laravel 5.5のパスポート認証エラー。
- 8. セイルズ+パスポート+基本認証
- 9. ajax経由のパスポート認証
- 10. パスポートFacebookの認証は9
- 11. 認証トークン - セッション認証
- 12. Laravelパスポート「トークンにアクセスするための認証コードの変換」codeigniterのコード
- 13. スプリングブート - トークン認証
- 14. HTTP認証トークン
- 15. "+"の認証トークン
- 16. JWTを使用してnodejsでパスポート認証が動作しない
- 17. nodejs vuejsアプリでトークンを使用した認証システム?
- 18. Laravel 5.2角度2のパスポート認証
- 19. ノードJS認証パスポート - jwt無許可
- 20. Laravel 5.4パスポートaxiosは常に非認証
- 21. Facebook iOS SDKとパスポート - フェイスブック認証
- 22. エクスプレスアプリケーションでのパスポート認証の使い方
- 23. トークン認証とCookie
- 24. REST API認証トークン
- 25. トークン認証のテスト
- 26. WCFカスタム認証 - トークン
- 27. Emberシンプル認証トークン認証ツール
- 28. Java認証でのGoogle認証httpトークン
- 29. ldap nodejsアクティブディレクトリ認証
- 30. NodeJSユーザー認証ミドルウェア
はこのためにすっごくありがとうございました。何らかの理由で私はOAuthがこれ以上複雑になる必要があると考えました。 – SomethingOn
偉大な説明 – Omar
トークンの生成に関して、期限切れのない1つのトークンを持つことは安全ですか?トークンの有効期限を切って新しいトークンを生成する必要がありますか? – sanfilippopablo