ユーザーがログインしていなくてもアプリがアプリ固有の情報を取得できるようにしたい場合、および API の別のセクションに OAuth プロバイダーがある場合、API を保護するにはどうすればよいですか? ユーザーがログインしていなくても、クライアント アプリの OAuth 資格情報を使用して API にアクセスできますか?
railscasts 353に従って、ドアキーパーを使用して OAuth プロバイダーとクライアントを作成しました。プロバイダー アプリに対してユーザーを正常に認証し、ユーザーに代わってプロバイダー API に対して要求を行うことができます。
ただし、API の一部はユーザーに依存しません。つまり、API から返される情報はユーザー固有のものではないため、ユーザーがログインする必要はありません。たとえば、e コマース サイトで商品と価格が保存されているとします。複数のクライアントのプロバイダーで。ユーザーがログインしなくても、取得アプリに関連付けられているアイテム/価格をクライアントアプリで安全に取得できるようにしたい. .
ユーザーが OAuth を介してログインしている (access_token を作成している) 場合にのみ、OAuth を介してこの情報を取得できます。ユーザーがいなくても OAuth を使用する方法はありますか? または、アプリケーションがアプリケーション固有のデータを取得するために Api キー (または Http Basic Auth) を使用する必要がありますか?
ユーザーが存在しないために OAuth が適切なソリューションではない場合、SSL 経由で HTTP 基本認証を使用し、基本認証ユーザー名の API キーとしてクライアント サイトの OAuth 秘密鍵を使用できますか?