私はPHPでOAuthのようなものを実装しようとしています。私は自分のプライベートリソースを使用できるようにトークンをユーザーに与えます。すべてのユーザーは、まず電子メールとパスワードでログインし、「n」分アイドル状態でない限り永久に有効な一意のトークンを取得する必要があります。したがって、「n」分の要求がない場合は、トークンを破棄する必要があります。トークンは、ユーザーがプライベートリソースにアクセスするために使用されます。私はこれを行うと考えることができPHPセッションと固有のユーザートークン
ことの一つは、私が命名user_tokensのdbテーブルを維持するであろうと、彼らは自分のユーザー名とパスワードでログインしてユニークなトークンを持つエントリが作成されます
...ようです。最後にアクセスされたタイムスタンプが設定され、ユーザーは一意のトークンを応答として与えられます。トークンはユーザーのプライベートリソースにアクセスするために使用でき、トークンを必要とするすべてのリクエストを渡す必要があります。すべての私的な要求は、最後のタイムスタンプと現在のタイムスタンプが "n"分の差を持っているかどうかをチェックします。それ以外の場合は、要求されたリソースで応答を送信し、最後のタイムスタンプを現在のタイムスタンプに設定します。
それは意味がありますか?それとも、これを行うための効率的な方法がもう1つありますか?
私は、トークンはTwitterから返されたものと同じでなければならないと付け加えたいと思います。
は、なぜあなたは再発明しようとしていますOAuthはあなたのニーズに合っていませんか? –
私はOAuthを一度も使用したことはありませんが、ただ読んだだけです。それが唯一の理由です。私は既に知られている概念でこのことをすぐにやり遂げたい。 – Neutralizer
私は実際にPHPのoauthライブラリ(PHPのoauth、またはPHP拡張モジュールのような)を実装するために行きます。セキュリティを扱う際には、既存の、よく考えられた標準を使用するのは良い方法です。あなたが少しの暗号化のバグを作る機会は、実績のある標準を使う場合よりもはるかに大きいです。さらに、ボーナスとして、クライアントの作成がより簡単になり、OAuthクライアントを再利用することができます。また、他の開発者は、サービスと話すための特別なドキュメントを必要としません。 –