2011-07-18 8 views
11

は、ここに提案している:道標のようなOAuth - アプリケーションにクライアントシークレットを埋め込む?私はOAuthの実装ツイッターで探してい

https://dev.twitter.com/docs/auth/oauth 

とのOAuthライブラリ:

http://code.google.com/p/oauth-signpost/ 

彼ら手段OAuthのフロー中にクライアントの秘密を使用する方法について、両方の話、クライアントアプリケーションでは、アプリケーション自体に秘密を格納する必要があります。これは、誰かが私のアプリから秘密をつかむことができるので、おそらく危険です。私のアプリに秘密を保存する方法はありますか? oauthの流れを誤解していますか?

おかげ

答えて

3

彼らは事実上、公開せずにネイティブまたはJavaScriptアプリケーションにおけるクライアントの資格情報を保存するのない方法はありません。また、これらの資格情報をプロキシサーバーに配置し、クライアントがサーバーと通信する(資格情報が公開されないようにする)ことで、実際には何も解決されません。これで、クライアントをプロキシに認証する問題が発生しました。

適切な解決策は、OAuthサービスによって提供されるネイティブアプリケーションを特別にサポートすることです。 OAuth 2.0は、あらかじめ登録されたリダイレクトURIやその他の手法を使用して、そのようなクライアントに対して妥当なクライアントIDの検証を実行します。

+2

これについて詳しく説明できますか?私はドラフトのクイックスキムを持っていた - http://tools.ietf.org/html/draft-ietf-oauth-v2-22#section-9 - これは、ネイティブアプリが「クライアント秘密」を採用していないことを意味するOAuthを使って?必要なフローを記述できますか? –

+3

ネイティブアプリは、クライアントのシークレットを使用するべきではありません。なぜなら、実際の価値がなく、偽のセキュリティー感覚を作り出すからです。 –

関連する問題