1

APIを構築していますが、Backbone.jsなどのフロントエンドフレームワークを使用する場合の認証の処理について質問がありました。

RESTfulWebリクエストに基づいてデータを返したり変更したりする役割を担う単一のAPIサーバーがあります。

バックボーンアプリケーションである別のアプリサーバーがあります。このアプリケーションをAPIサーバーに直接接続したいので、このアプリサーバーがAPIサーバーに対してクロスドメインAJAXリクエストを実行できるようにプロジェクト全体を設定します。

許可されていない当事者にアクセスを許可したくないAPIルートがいくつかあります。たとえば、アプリのすべてのユーザーを一覧表示するパス/usersがあります。後で管理機能のためにこのパスが必要になりますが、アプリサーバーで公開したくありません。

使用するのに適した認証スキームは何ですか?シークレットトークンがフロントエンドで公開されるため、OAuthは機能しません。そしてその後、私は自分の選択肢が何であるかについて少し立ち往生しています。誰かが前進するための提案がありますか?

4

1 に答える 1

3

このような場合、私はテクニックを組み合わせて使用​​します。

--GoodoleCookieベースの認証

バックボーンアプリは常にブラウザ内で使用され、ブラウザにはCookieサポートが組み込まれているため、サーバー側でCookieベースのセッションを受け入れることをお勧めします。すべての認証関連のものはブラウザによって処理され、キーなどの保存について心配する必要はありません。さらに、(iPhoneのNSURL)やフレームワーク(PhoneGap / Triggerなど)などの多くのライブラリはすべてCookieをサポートしているため、サポートできます仕事が少ないあらゆる種類のクライアント。

-プレーンAPIキー

サードパーティの場合、APIキーベースの認証を使用します。あなたが提供usernamepassword、私が鍵を提供します。後続のすべてのリクエストに対して、HTTPヘッダーで毎回そのキーを送信します。キーを使用してあなたを識別し、それに応じてアクションを許可/禁止します。

ユーザーを認証できたら(待ってください。あなたは誰ですか?)、認証を設定できると思います(あなたが言うMicheal?... OK、アクセスできます/users

また、外部APIサービス#shamelessplugに対してユーザーを認証する方法については、私のバックボーン解析プラグインをご覧ください。

于 2013-02-23T09:33:32.077 に答える