2016-12-11 6 views
1

でAPIの範囲や利用者の主張の間で異なり、ここではサンプルコード私はidentityserver4のguildenceを読んでいますidentityserver4

 UserClaims = 
     { 
      new UserClaim(JwtClaimTypes.Name), 
      new UserClaim(JwtClaimTypes.Email) 
     }, 

     // this API defines two scopes 
     Scopes = 
     { 
      new Scope() 
      { 
       Name = "api2.full_access", 
       DisplayName = "Full access to API 2", 
      }, 
      new Scope 
      { 
       Name = "api2.read_only", 
       DisplayName = "Read only access to API 2" 
      } 
     } 

私の質問は です範囲は、APIのリソースにアクセスできるクライアントを制御するために使用されているようで、ユーザはapiに対するユーザ権限を制御すると主張する。 "api2.read_only"を見てみましょう。このスコープのクライアントは、apiへの読み取りアクセスしかできませんか?ユーザーがたとえば:speicific apiの書き込みアクセス権を持っている場合はどうなりますか?私はこれらの2つについて混乱します。 ご協力いただきありがとうございます。

答えて

1

スコープは、APIにアクセスできるかどうかを定義します。クレームがより細分化されているところ。 API内では、どのリソースにアクセスできますか?たとえば、名前のようなIDリソースにアクセスできます。

2

スコープとは、クライアントがアクセスできるリソースを定義する特別なクレームです。 ユーザークレームは、ユーザーに関する単なるアサーションです。通常は、ユーザーに「役割」または「許可」の主張(またはそのようなもの)を与えます。ユーザーのクレームを使用することで、スコープに基づく承認が要件を満たしていない場合、いくつかのクレーム認可を行うことができます。