私は、さまざまなWebベースのAPIを保護するためのOAuthプロバイダを実装しています。ほとんどの頭痛は、私にOAuthを介してWebSocketsのセキュリティを確保しています。OAuth 2.0でWebSocket APIを保護することは可能ですか?
ブラウザに設定されたクライアントで完全に安全にすることはできますか?
ブラウザがサーバーのあるWebアプリケーションと比較してどのような危険性がありますか?
2足のOAuthを使用してwebsocketへの接続を制限するので、登録されたクライアントだけが拒否されることなくAPIとのWebSocket接続を取得できます。 WebSocket接続は常に(ブラウザからの)クライアント側で確立されるため、アクセストークンが盗まれたり誤使用されるのを防ぐことは可能ですか?
その時点で、Webアプリケーションクライアントappartからブラウザベースのクライアントを設定するのはURLだけです。
ブラウザベースのアプリケーションが安全でない場合、私はそれを存続させることができますが、少なくともWebベースのアプリケーションがWebsocketに安全にアクセスできるようにしたいと考えています。
しかし、その時点で私はaccessTokenがまったく必要であるかどうか自問しています。なぜなら私はorigin-URIを安全なメカニズムとして使うことができるからです。
oauth-2ドラフトhttp://tools.ietf.org/html/draft-ietf-oauth-v2-25#section-4.4のクライアントクレデンシャルのように、自分自身を認証する必要があります。そこには、それが秘密の顧客のためだけに使用されなければならないとも言われています。しかし、機密クライアントを持っていても、アクセスログをブラウザに送って(ws接続を確立するために)、それが公開されます。再利用から保護するためには、このaccessTokenを非常に短時間しか使用しないでください。 – JustGoscha