2012-10-11 8 views
6

トークンベースの認証システムを実装するためのいくつかの提案に関する一般的なポイントアウトオブザフォールスの疑問は、Node.jsが何か準備ができていないように思われる。トークンベースの認証(Node.js内)

私たちはデータストアを操作するための状態のないAPIサーバーを構築したいので、APIへの各呼び出しに含まれる認証トークン( '乗車チケット')をユーザーに提供したいと考えています。

質問は安全にこのトークンを生成する方法です。

[アイデア1] - ユーザがサーバ に(ユーザID、パスワードハッシュ)を送信して認証トークンを要求 - サーバーがキー ランダムAPIサーバが署名し、(USER_ID、EXPIRY_DATE)で応答 - サーバー上記と同じですが、パスワードのハッシュ の送信を避ける - - 時間

[アイデア2] の期間限定でのトークンを格納する必要がありますサーバー - すべてのリクエスト にトークンの有効性を確認することができ、ユーザーは認証を要求 トークン - サーバーはユーザーにチャレンジを送信し、ユーザーはそのチャレンジを(user_id、password_hash)のペアでハッシュします - サーバーこれを検証し、アイデア1.

ごとにトークンを生成し、[アイデア3] - トークン管理問題 を避けるために、すべてのリクエストで送信された認証トークン、としてパスワードハッシュ自体を使用してください - シンプルが、その後なし、時間limitedness

[アイデア4] - 2と同じですが、challenged_hashed_by_(USER_ID、password_hash)がトークンになり、任意のポインタ

+0

これを見てください:http://stackoverflow.com/questions/11187342/mongoose-express-authorisation-on-http-verbs – freakish

答えて

0

のためにそれを扱うことができるlibraryaのかなり多くもあります。パスポート自体はそれを使用する方法の良い例であり、あらゆる要求に対してユーザーパスワードを送信せずにステートレスAPIを保護するための適切なソリューションです。

関連する問題