web-dev-qa-db-ja.com

REST SAMLによるAPI認証

ゲートウェイを使用してREST APIのSAML2.0認証を設計するのに苦労しています。RESTが私のバックエンドとアプリケーションの間で使用されています。私はJavaサーブレットフィルタとSpringを使用します。

私は2つの可能性を考えています。

  1. 毎回ヘッダーにSAMLトークンを追加します。

  2. SAMLで1回認証し、次にクライアントとゲートウェイの間でセッションまたは同様の(セキュアな会話)を使用します。

ケース1:まだRESTfulなので、これは良い解決策ですが、

  • SAMLトークンは非常に大きいです。ヘッダサイズが大きいため、問題が発生する場合があります。
  • トークンを再生することは、セキュリティ上の懸念のための最良の方法ではありません。

ケース2:ステートレスではなくなり、クライアントとのリンクを管理する必要があります。私はゲートウェイを使用しているため、基礎となるサービスはRESTfulである可能性があります。

ケース2は、残りの制約に従っていないという事実にもかかわらず、より良い選択を探します。

誰かが既にそれをしなければならず、私にいくつかの指針(設計または実装のため)を与えていましたか?

SAMLでそれを行うより良い方法はありますか?

ヘルプやアドバイスは大歓迎です。

17
Nereis

まだドラフトですが、OAuth2 SAMLベアラープロファイルが解決策になる可能性があります。 http://tools.ietf.org/html/draft-ietf-oauth-saml2-bearer-17

SAML2を使用してOAuth2プロバイダーに対して認証し、OAuth2トークンを使用してサービスを呼び出します。

12
Zelgada