1

私は私たちの製品の API を書いており、私たちの (作成される) API を利用する可能性のあるモバイル アプリに関して、いくつかの基本的な OAuth がどのように機能するかを理解しようとしています。

現在、私たちの Web サイトで、Twitter OAuth を介してユーザーがサイトにログインできるとします。Twitter からのコールバックで、サーバーは Twitter の OAuth 結果を取得し、問題がなければ、このユーザーが DB に既に存在するかどうかを確認します (たとえば、メールが一意のキーであると仮定します)。存在しない場合は、新しいユーザーを作成します。

もちろん、ユーザーを「ログイン」させます。つまり、ユーザーのブラウザー用に Cookie を作成します。

これまでのところ - 新しいものは何もありません。すべての通常のもの。

さて..ネイティブ言語を使用してiPhoneまたはWindows phoneを介してこれを行い、アプリがAPIを使用する場合、OAuthが終了してAPIが引き継ぐポイントがわかりませんか?

たとえば、私たちの API を利用する iPhone アプリだとしましょう。iPhone アプリは、Twitter の資格情報に対してユーザーを認証しようとします。いいよ。しかし、コールバックすると、電話に戻りますよね? 私たちのサーバーではありません。それでは、アプリは新しいユーザーを作成しようとする必要がありますか? そのため、iPhone が を呼び出そうとする可能性があります/api/CreateAccount。しかし、これは誰でもこの API を呼び出すことができるということですか? また、Web サイトは認証済みであることをどのように認識しているのでしょうか。アプリがそう言っているからですか?その人が悪意のあるアプリを作成し、新しいアカウントの作成で溢れさせて API を呼び出すのを防ぐにはどうすればよいでしょうか? また、API リソースへの認証についてはどうでしょうか。フォーム認証はここでは利用できません。では、人々は API 呼び出しに SSL 経由のクエリ文字列認証を使用していますか? iphone はどのように -our- サーバーで認証されますか?

私は困惑している。

ウェブサイトと API を持っているときに人々が行っている違いと一般的な慣行を誰か説明してください..そして認証メカニズムとして OAuth を使用してください。

4

1 に答える 1