私は、RESTful APIを介してサービス(SOA)を公開するErlang/OTPアプリケーションを設計中です。
バックエンドを構成するサービスは、データベースサービス、価格計算サービスなどとなります。
クライアントには、Webクライアント、モバイルクライアント、Asteriskサーバークライアント(データベースサービスでユーザーレコードを検索する必要がある)、さらには私が持っている予定がなく、まだ知らないクライアントなど、さまざまな種類があります。クライアントはRESTfulAPIを異なる方法で使用します。一部はすべてのサービスを消費し、一部は一部のサービスのみを消費します(SOA方式)。
私が抱えている主な懸念は、認証/承認です。
Ruby on Railsの組み込みの認証/承認を使用することはできません。これは、WebクライアントがRESTfulAPIを介してアプリケーションを使用する可能性のある多くのクライアントの1つのクライアントにすぎないためです。
だから、私の質問は:
- 多くの異なるクライアントで使用されることが予想される典型的なRESTfulWebアプリケーションの認証/承認の一般的な概念は何ですか?
- RESTful Webアプリケーションでの承認/認証のための最も実用的なソフトウェアデザインパターンは何ですか?
- そのようなアプリケーションの認証/承認を実装するために、どのErlang / OTPオープンソースソフトウェアライブラリを推奨できますか?