JavaScriptでTwitter OAuth認証を安全に行うにはどうすればよいですか?安全なTwitter JavaScript/jQuery(サーバーサイドヘルパーに加えて)のOAuth認証
私は、ユーザーがTwitterの利用状況やフォロワー/友人を分析できるようにするプログラムを作成しようとしています。私はpython tweepyモジュールを使って動作するサーバー側のバージョンを書いています。
私は人々と共有したいと思いますが、小さなサーバーで実行するのではなく、ブラウザで実行してスケーラビリティを実現したいと考えています。
私は結論が安全それはお勧めできませんということではなく別の質問を参照してください。 JavaScript OAuth sign in with Twitter
1は、アプリのJavaScriptで、消費者(アプリ)秘密またはアクセス(ユーザー)秘密を送った場合は理にかなっています。
しかし、私はここのようにサーバ側でURLを構築できなかった理由 - http://djangosnippets.org/snippets/1353/
が続いてTwitterのマイアプリケーションページでのOAuthツール(ではないから、ブラウザに戻って、このようなものを認証URLを送ります有効な資格情報)
GET &のhttps%3A%2F%2Fapi.twitter.com%2F1%2F &取得%252Faccount%252Fverify_credentials_json%3D%26oauth_consumer_key%GD0bgcgMU4MDwNfKQpLFQS3%26oauth_nonce%3D24ad5049501dee1292afd8cf22307d68%26oauth_signature_method%3DHMAC-SHA1%26oauth_timestamp%3D1329173626 %26oauth_token%uPUpxsBc3D283768289LtQ6R1E z1KeD8DOSsm5XpqJaKI28ysYh%26oauth_version%3D1.0
次に、ユーザーの資格情報で認証して分析を実行するためにjQueryを使用します。
これは重要な作業ですが、それを行うのは嫌いですし、動作しない、または安全でない方法であることがわかります。 (またはすでに完了しています)
それは安全ですか?それは秘密を公開していないようです。
これは動作しますか?
必要なAuthorization:ヘッダーとCookie /リダイレクト処理を使用して、jQueryのnoobの認証を行うためのポインタ/例がありますか?
私は何かが不足しているように感じていますが、これはうまくいかない理由があるか、すでにどこかに存在するはずですが、見つからないという理由があります。どうもありがとう!
私は、コンシューマーキーとコンシューマーシークレットの分割のポイントは、鍵を公開する可能性があり、誰も秘密なしには何もできません。 消費者の秘密を持っていないと、消費者の鍵だけで何かできますか? –
はい、そうです。あなたが本質的に提案しているのは、あなたのコンシューマーシークレットを使用してサーバーサインを作成し、それをクライアントに戻すことです。あなたはそれを行うことができますが、サーバーがユーザーに代わってリクエストを行うだけではそれ以上のスケーラビリティはありません。 – Alan
はい、基本的には、認証を代理して、ブラウザに一連のAPI呼び出しをさせたいと思います。これは、数百コールになるでしょう。加えて、彼らは実行中に長い時間がかかり、リソースを縛ります。だから私は本当にサーバー上でそれをしないことを好む、より多くの負荷のオーダーになります。ブラウザにURLまたはトークンを返信し、jQueryまたは純粋なJavaScriptを使用してAPI呼び出しを行うために使用します。 –