2017-12-17 6 views
0

これは少し理論的な質問ですが、可能な限り詳細にしようとします。私はoath2/SSOの実装についてのドキュメントをたくさん読んだことがある(私は彼らが同じではないことを知っている) - 実際のシステム設計に手を加えなければならない。 Oauth2の実装は次のようになります。 コアデザインには、すべて同じ認証サーバーを使用する一連のマイクロサービス(ここではアプリケーションと呼んでいます)が含まれています。OAuth2実装

これは、認証サーバーが提供するはずのエンドポイントです。登録するアプリケーションのための

認証サーバ

  1. エンドポイント - >は、一度アプリがクライアントIDとクライアントシークレット(これらは基本的に永久 であり、変更されません提供され、登録
  2. 。ユーザーが登録するためのエンドポイント - >この要求には、クライアントIDとクライアントシークレットが含まれている必要があります。ユーザーとアプリの関連付け
  3. ログインするエンドポイント - >ユーザーが認証されている場合つかいます次に、アクセストークンが提供されます。
  4. エンドポイントのユーザー情報 - >承認されたアプリケーション(正しいクライアントIDとシークレット)が承認されたユーザー(正しいアクセス トークン)と要求を行うと、ユーザーのblobが返されます。

リソースサーバ(アプリケーション)

今リソースサーバは、この基本的なユーザーデータを持っていること、それは 独自のユーザークラスにJSONオブジェクトをデシリアライズしてからのようなものに 1対1のマッピングを持つことができますuser_address/user_locationなど

これは私のOauth2-SSOの理解です。私は非常に粗いエッジの周りにいくつかの助けに感謝したいと思います。 TIA !!!

答えて

1

私はoath2を自分で実装していませんが、私が作業しているシステムはそれを使用していますが、あなたが言うものは私たちが使用しているものと同じであると思われます。

クライアントをエンドポイントとクライアントのシークレットとIDで初期化し、次にユーザーの資格情報を使用してトークンを取得します(ユーザー/クライアントの資格が無効な場合はエラーメッセージ)。そこからアプリケーションのエンドポイントを使用してアプリケーションを呼び出します。私のOauth2メソッドがあなたの質問に記述したことをするように見えるから、正しいはずです。

関連する問題