2

PhoneGap を使用して、HTML、CSS、および JS でモバイル アプリを作成しています。

API に接続するには、ある種の認証を実装する必要があります。OAuth 1 または OAuth 2 がうまく機能するはずだと考えています。

ただし、OAuth 1 では、コンシューマー シークレットを JS に保存する必要があり、頭脳を持つ人なら誰にでも公開されてしまいます。

OAuth 2 を使用すると、シークレットをまったく使用せずに、API プロバイダーに事前登録されたリダイレクト URL を提供するだけで、シークレットの公開を回避できます。これにより、ユーザーが正しい URL にのみ送り返されることが保証されます (ハイジャックされることはありません)。

ただし、PhoneGap では、リダイレクト URL を実際に提供することはできません。PhoneGap の URL は file://www/index.html... のようなものになるからです。

モバイル HTML5 アプリで Oauth 1 または OAuth 2 を使用するにはどうすればよいですか?

4

2 に答える 2

4

Libby には、PhoneGap で OAuth 1 を実行する方法に関する優れたチュートリアルがあります。

http://www.mobiledevelopersolutions.com/home/start/twominutetutorials/tmt5p1

コンシューマ シークレットについては、ネイティブ コードに保存し、プラグインを使用して JavaScript のネイティブ側から取得できます。Keychainと呼ばれる iOS 用の 1 つが既に利用可能です。

于 2012-04-27T19:26:48.877 に答える
1

このトピックに慣れていない人のために、Intel Developer Zone にはPhoneGap/Cordova での OAuth2 の使用に関するチュートリアルもあります。アプリケーション内でのクライアント シークレットの使用を回避するには、OAuth2 Implicit Flow を使用します。上のリンクから

Cordova* HTML5 アプリで Oauth2 Implicit Grant フローを実行する手順は次のとおりです。

  1. Cordova InAppBrowser で Oauth2 認証ページを開く
  2. loadstart イベント リスナーを使用して、リダイレクトされた URL ハッシュ フラグメントから access_token を取得します。
于 2015-12-01T20:44:07.057 に答える