I have created a ResourceApi in my IndetityServer4 something like this:
I have defined a ApiResource called API 1 and specify directly claims - name, sub for this api resource and I've extended this resource and specify two scopes named Api1.Read and Api1.Write and specify for every scope a specific claims which I need for the specific part of API but I don't understand what is different between Claims used in ApiResource and Scopes?
What does mean Claims directly connected in ApiResource and Claims which is used in Scope?
I have tried restrict UserClaims in ApiResource only for sub and name but if I want in Api1.Write claim role it's sent in access token but in definition of  Api1 is specify only name and sub - why is UserClaims defined in ApiResource?
var apiResource = new ApiResource
            {
                Name = "Api1",
                UserClaims = new List<string> { "name", "sub" },
                Scopes = new List<Scope>
                {
                    new Scope
                    {
                        Name = "Api1.Read",
                        UserClaims = new List<string> {"sub", "name"}
                    },
                    new Scope
                    {
                        Name = "Api1.Write",
                        UserClaims = new List<string> {"sub", "name", "role"}
                    }
                }
            };