2

私はiPhone開発の初心者であり、2本足のOAuthを実行するための標準的な方法は何であるか疑問に思っていました。このアプリは基本的に私のWebアプリ(iphone用のtwitter / facebookアプリなど)への別のインターフェイスであるため、2本足のOAuthを使用しました。少し調査した結果、2本足のOAuthで作業を完了することにしました。 3本足の代わりに私のために。

2本足のoauthがどのように機能するかについては完全にはわかりませんが、特に私がはっきりしていないのは、ユーザーごと(iphoneごと)に公開鍵/秘密鍵を管理する方法です。各iPhoneに同じ公開鍵/秘密鍵を設定するのは良い考えではないと思います。理想的には、すべてのiPhoneが異なる秘密鍵を持っているべきではありませんか?すべてのiPhoneが同じ公開鍵と秘密鍵を持っている場合、誰もがこれらを入手してどこからでも任意の要求を開始するのは非常に簡単ではありませんか?また、どのユーザーがこれらのリクエストを行っているかをどのように知ることができますか?リクエストごとに何らかのトークン(セッション情報を含むCookieのようなもの)を送信することをお勧めしますか?

iphoneアプリがこれをどのように回避するかについて、誰かが現在の業界標準にもっと光を当てることができれば素晴らしいと思います。

どうもありがとう..

4

1 に答える 1

1

Two-legged OAuth 自体の問題は、クライアント アクセスと秘密鍵のストレージです。Oauth の秘密鍵 (私が理解している限り) は、HTTP(S) 経由で転送しないでください。つまり、アプリ内に保存する必要があるため、リバース エンジニアリングによって発見される可能性が非常に高くなります。

最初に HTTPS を使用することをお勧めします。次のような単純なものを使用します http://matteomelani.wordpress.com/2011/10/17/authentication-for-mobile-devices/

Oauth を使用すると、他のクライアント アプリケーションが Rails アプリケーションの API に接続/使用できるようになりますが、モバイル アプリを使用して独自の API を使用すると、「秘密鍵」の問題によってそれが無効になります。モバイル アプリから facebook や twitter またはその他の Oauth プロバイダーを使用して消費する場合、トークン/コードを処理/承認するために、秘密鍵はバックエンドに残ります。

また、これはこれまでの私の経験であり、正確には明確な答えではありません。他の誰かがそれにもっと光を当てることができるかもしれません.

于 2012-08-01T21:17:21.930 に答える