3

利用者の多いサイトです。プライベート ページを使用するには、ユーザーはユーザー名とパスワードでログインする必要があります。

現在、WebViewなどではなく、APIを介してWebサイトのコンテンツをネイティブに表示するAndroidアプリに取り組んでいます。ワークフローは次のようになります。

  • アプリが起動しました
  • アプリは、セッションキーが存在するかどうかを確認します。
    • キーが存在する場合は、セッションキーが有効でユーザーに属しているかどうかを Web サイト API に問い合わせる => 有効な場合は、アプリの使用を許可する
    • セッションキーが存在しない場合は、ユーザー名とパスワードを尋ね、それが正しいかどうか API に尋ね、API を介して新しいセッションキーを取得します => アプリの使用を許可します
  • ユーザーが「口座残高」などをクリック -> 保存されたセッションキーで API リクエストが実行され、結果が表示される
  • ユーザーが「支払い」をクリックし、フォームに入力してお金を受け取る -> 保存されたセッションキーで API リクエストが実行され、結果が表示される

今、私はこれを解決するベストプラクティスを探しています。セッションキーを単純にハイジャックできるようにしたくなく、セッションキーが実際にこのユーザーに属していることを確認したい. アプリを介して個人データを表示/変更できるため、プライバシーは重要です。

oAuth を見てみましたが、すべてのユーザーに固有のコンシューマー キーとコンシューマー シークレットが必要であり、これをアプリに統合できないため、これは私が必要としているものではないと思います。ユーザー名とパスワードを入力するための新しいウィンドウ/ブラウザーを用意したくなく、oAuth のようにコールバックを介して応答を処理します。

これに関するヒントはありますか?

どうもありがとう!

4

2 に答える 2

1

プライベート データを送信する場合は、HTTPSを使用する必要があります。これにより、セッショントークンなどの保護も行われます。どのトークンがどのユーザーに属しているかを確認する必要がある場合は、当然、サーバー側でこのマッピングを行う必要があります。ほとんどのサーバー側プラットフォームは、セッション ID などでキー付けされたセッション マップなどを提供し、ユーザーの詳細を含め、ほとんど何でもそこに保存できます。

于 2012-11-06T05:49:20.713 に答える
1

http 認証のベスト プラクティスの出発点として、次の記事をご覧ください。

「標準化された REST 認証の原則」 .

于 2012-11-05T15:51:10.657 に答える