2016-08-12 2 views
0

この質問はアーキテクチャーの問題によく似ています。私は次の設定が意味を成すのだろうかと思います。リソース所有者グラントフローのIdentity Serverユースケース

  1. クライアント:ユーザーのブラウザ
  2. Webサーバー:WebアプリケーションのためのWeb APIを提供し、サーバー。クライアントは、Webサーバーへのログインのための要求を送信すると
  3. のIdentity Server

は、Webサーバーは要求を受信し、アクセストークンを取得するには、リソースの所有者グラント・タイプでアイデンティティサーバーに送信します。

クライアントがリソースの要求を送信すると、前の手順のアクセストークンを使用してWebサーバーにアクセスし、Webサーバーはリソースを提供する前に毎回Identityサーバーで要求を確認する必要があります。

はしかし、私はクライアントもSSL接続の下で信頼クライアントがある場合は、このアーキテクチャでは、Webサーバが確認することはできません

のようないくつかの問題を抱えているかもしれないと思います。クライアントは常にアクセストークンを取得し、Webサーバーに要求を送信できます。しかし、私はこの問題が他の助成金タイプにも存在するように感じます。 私は、ユーザーが許可スコープを変更できない、または他の誰かが(SSL接続の下で)トークンを傍受している限り、それは問題ないはずだと思います。

ありがとう!

答えて

2

ブラウザベースのアプリケーションでは、インタラクティブなフローを使用する必要があります。ハイブリッドフロー。

この方法では、クライアントはトークンを取得する前にidsrvで認証する必要があります。

OIDCスペックチェック:

https://openid.net/specs/openid-connect-core-1_0.html#HybridFlowAuth

+0

まあが、私の質問は、より多くのWebサーバーとIDSrvは同じ党からの両方であるときのように、3本足の認証の代わりに、2を実行する利点は何です-legged? – maxisam

+1

ブラウザフローなしで複数のアプリケーション間でSSOを取得することはありません。 – leastprivilege

+0

良い点。だから私はそれを作るようにユーザーがWeb srvにユーザー名/パスワードを送信し、Web srvがIDSrvにそれを送信してアクセストークン(リソース所有者フロー)を取得します。 Web srvが取得すると、それをUserに送り返します。それでもSSOがあり、ユーザーはIDSrvと直接リソース所有者のフローで対話しません。それは動作しますか?他のフローにはURIリダイレクトが必要であるため、既存のネイティブアプリを操作するのには理想的ではありません。 – maxisam

関連する問題