2017-10-24 7 views
0

私は、Raspberry Piまたは類似のSBCに展開されるオープンソースソリューションを開発しようとしています。 RPiの部分は、コードとアプリのリソースをすべて公開する必要がある場合にのみ関連します。TwitterのストリーミングAPIをクライアント側に安全にデプロイできますか?

解決策はできるだけリアルタイムで、可能な限り第三者からの干渉はほとんどない状態でTwitterのステータスを読み取る必要があります。私は驚くほど速いTwitterのStreaming APIを見つけました.OAuthが必要な場合を除いて、私のアプリケーションには完璧です。 OAuthメカニズムは、アプリケーション所有者に属する秘密鍵(コンシューマシークレット)に依存しているため、OAuthメカニズムはユーザーのマシンへの展開にはあまり適していません。

私は考えられる唯一の解決策は、セントラルサーバー上でのリクエスト署名の処理か、各ユーザーに独自のTwitterアプリケーションアカウントの作成を依頼することです。そして、私は両方の解決策がひどく不快であると感じます。

どのようなエレガントな方法がありますか?

答えて

1

TwitterのパブリックAPIを使用しても、実際には現実的に実現できません。近い将来にではなく、今ではない。私はTwitterの独自のフォーラムでこれを尋ねました。私はTwitterでGlobal Lead Developer AdvocateのAndy Piper氏に質問してもらえました。 There you go

0

あなたのアプリは、Twitterのアプリケーション認証Webページが読み込まれたWebブラウザを開くことができます。ユーザーが資格情報を入力すると、Twitterはあなたのアプリにコピー/ペーストできるコードを返します。特にエレガントではありません。以下は、ワークフローのPythonの例です:https://github.com/geduldig/TwitterAPI/blob/master/examples/oauth_test.py

+0

私がOPで言っていたように、OAuthはアプリケーション所有者(消費者の秘密)に属する秘密鍵に依存しています。参照しているサンプルでは、​​[行8](https://github.com/geduldig/TwitterAPI/blob/master/examples/oauth_test.py#L8)でコードを共有する必要があります。人々のコンピュータ。そして、それは大きなノー・ノーです([Twitterのドキュメント](https://developer.twitter.com/en/docs/basics/authentication/guides/creating-a-signature)(セクション「署名鍵の取得」を参照)そこに。 – Gutza

+0

あなたのアプリにハードコードされたキーと秘密をコンパイルします。コンパイルされた言語を使用していない場合、私はあなたが運がないと思う。 – Jonas

+0

私はコンパイルされた言語を使用していません。私はリクエストに署名するためだけにクライアントサイドのマイクロアプリケーションをコンパイルすることができますが、パフォーマンス上のペナルティは期待できませんが、クライアントに秘密鍵を配備することは、どのように見ても問題ありません。 – Gutza

関連する問題