OAuth 2.0サーバーを実装しようとしています。RFC6749仕様を読んでいるうちに、section 6 on Page 47「アクセストークンのリフレッシュ」について認識しました。新しいトークンを取得するために必要なリフレッシュトークンを使用する必要があることを説明します。Refresh TokenをOAuth 2.0で送信する必要があります
たとえば、Refresh Tokenに加えて、GoogleはUser IDとSecretを必要とします。
これは、私たちが毎日大量のリクエストを処理しているGoogleを持っているため、狭い範囲で仕様書が作成されているため、混乱します。
リフレッシュトークンで1時間ごとに秘密を送信するのは良いですか?
個人的に私は誰も信じていません:ユーザーIDと秘密は、OAuth 2.0プロセス全体を処理するためにのみ使用する必要があるためです。
基本的に
- あなたはあなたが誰であるかであることを証明するために、各要求にトークンを使用しています。
- リフレッシュトークンは1時間に1回のみ使用されます(リフレッシュごとに変更される可能性があります)。
- シークレットとユーザーIDは、できるだけインターネットにはほとんど行きません。オプション1と2が侵害された場合のみ。
個人的には、リフレッシュトークンで秘密情報を送信することは安全性が低いと私は思っています。しかし、多分私は何かを逃しています。あなたは別の視点を持っている場合は
、それを共有してください:)
説明していただきありがとうございます。私は議論を少し深めていきたいと思います。例えば:私はこの質問を思い付くとき、私はSSLを想定していません。私はそれを使用したくないからではありませんが、今日はman-in-the-middle攻撃をしてSSLを制動する方が簡単です。私がSSLを使用しても、私の接続は明らかに送られていると思う。したがって、できるだけ秘密を送ることはほとんど考えていない。これは有効な懸念事項だと思いますか? –
私はあなたがTLSを銀色の弾丸として見るべきではないことに同意しますが、暗号化されていないHTTPと同じであると仮定する前提も間違っています。そのロジックによって、TLSの使用には要件が必要であるため、OAuth 2.0を使用するのは難しいでしょう。 –
意味があります。あなたの時間をありがとう。 –