3

現在、新しい Web プロジェクトを計画しています。クライアントは、通常の Web ブラウザーを使用して接続します。通常の Java 対応の携帯電話の場合は、j2me クライアントです。OpenID 認証を利用したいと思っています。通常の Web ブラウザの場合、物事は非常に簡単です。ただし、インストールされているアプリケーション (モバイル デバイスにインストールされている j2me クライアントなど) についてはよくわかりません。通常の OpenID 認証は、特定の OpenID プロバイダーの Web ページでユーザー名/パスワードを入力することによって実行されます。これはかなりの制限です :)

誰かがそのような状況に対処しましたか? モバイル j2me クライアントから OpenID を使用するサイトへの認証メカニズムを作成することは可能ですか?

現在、モバイルから接続したいユーザーは、自分自身を認証した後 (通常のブラウザー認証)、サーバーの Web サイトから必要な j2me アプリケーションをダウンロードするという解決策を考えています。モバイル クライアント アプリは、ログインしている特定の OpenID ユーザーに関連付けられている SSL 証明書が埋め込まれたサーバー上で動的に組み立てることができます。その後、j2me クライアントは、ユーザー名/パスワードを入力せずにサーバーに対して認証を行うことができました。サーバーに保存されるデータはそれほど機密ではありません-携帯電話の盗難などのケースを考慮して.

誰かがより良い解決策を思い付くことができますか?

4

1 に答える 1

3

あなたがしていることに最適なソリューションIMOは、OpenIDと組み合わせたOAuthを使用することです。RPでOpenIDを使用していても問題ありません。ただし、そのWebサイトにアクセスする必要があるインストール済みアプリケーションの場合は、OAuthを使用して承認を受ける必要があります。フローは次のように機能します。

  1. ユーザーが自分のデバイスにアプリをインストールする
  2. インストール中または最初の起動時に、アプリには[承認]ボタンがあります。
  3. ユーザーがボタンを押すと、クライアントアプリがデータにアクセスするために必要なWebサイトがWebブラウザーによってポップアップ表示されます。
  4. ユーザーはOpenIDを使用してそのサイトにログインします
  5. サイトは「クライアントアプリXを認証しますか?」と尋ねるようになりました。
  6. ユーザーが「はい」と言ってブラウザを閉じます。
  7. クライアントアプリが再表示され、「ありがとう」と表示されます。これで、ユーザーが再度ログインしなくてもユーザーのデータにアクセスするために必要なOAuthトークンができました。
于 2009-05-08T18:28:47.633 に答える