3

OAuth 2 を使用して、許可されたリソースのみにユーザー アクセスを制限する必要があります。この場合、API への接続は ext.js REST プロキシ経由で行われます。ext.js プロキシは、データの取得とモデルの関係の維持を処理します。ログインしているユーザーに応じて、プロキシからバックエンドに異なる呼び出しを行うエレガントな方法が見つかりませんでした。

各ユーザーは独自のアクセストークンを持っているため、アプリケーションにログインしているユーザーごとにプロキシを変える必要があるかどうか疑問に思っています。

別のオプションは、プロキシの初期化プロセス中にログインしているユーザーをプロキシに認識させ、この情報を永続的な方法で保存することです。

誰かが以前に同様の状況を解決しましたか?

4

1 に答える 1

1

この記事では、Sencha Touch で OAuth2 を使用する方法について詳しく説明しています。

OAuth の使用方法はいくつかあります。最初の認証後にリダイレクトを使用します (これには、Sencha ログイン ビュー内で iFrame を使用する場合があります)。もう 1 つは、iFrame ソリューションを回避できる OAuth サーバーへの仲介としてバックエンド サーバーを使用しますが、サーバーにはより多くのロジックが必要です。

その後、REST 呼び出しを含むすべての HTTP 要求で再送信されるセッション Cookie を使用できます。ほとんどのバックエンドはセッション Cookie をサポートしているため、REST API コードの一部としてセッション オブジェクトに保存したユーザー ID を検索するだけで済みます。

もう 1 つのオプションは、認証が必要な各 REST 呼び出しにカスタム HTTP ヘッダーを設定することです。コードの重複を避けるために、Sencha プロキシ クラスから派生クラスを作成して、アクセス トークンを含むヘッダーを設定します。アクセス トークンは、Store または Application オブジェクトに格納するか、プロキシに静的な値として格納できます。REST プロキシ呼び出しと Sencha Direct プロキシ呼び出しの両方でこれを行いました。

AJAX プロキシ ヘッダー プロパティ:

于 2014-04-18T07:23:59.140 に答える