계획 여러 설정 한 IdentityServer과 같이 여러 자원에 대해 구성한 :API 광고 자원
internal static IEnumerable<ApiResource> GetApiResources()
{
return new List<ApiResource>
{
new ApiResource()
{
Name = "API 1",
DisplayName = "API 1",
Description = "API 1 Access",
Scopes = new List<Scope>()
{
new Scope("public"), new Scope("write")
}
},
new ApiResource
{
Name = "API 2",
DisplayName = "API 2",
Description = "API 2 Access",
Scopes = new List<Scope>
{
new Scope("public"), new Scope("write")
}
}
};
}
는 다음 클라이언트 1 API 2 단지에 액세스 할 수 있습니다 API 1 만 클라이언트 2에 액세스 할 수 있습니다. 두 클라이언트 모두 공용 범위를 갖습니다.
위와 같은 작업이 가능하거나 범위 이름을 변경하여 각 API 리소스에 고유하게 사용해야합니까?
하나의 ID/Authorization Server를 여러 API에 사용하는 것은 좋지 않은 생각입니까?
내가 뭘 생각하고 있지만 클라이언트/소비자는 다음과 같이 범위를 구성해야합니다. "scope = api2.public". 그게 받아 들일 수 있니? API 이름을 공개 하시겠습니까? – gnaungayan
절대적으로 이것은 괜찮습니다. public ('Scope.ShowInDiscoveryDocument = false')에서 쉽게 볼 수 없으면 검색 문서 ('.well-known/openid-configuration')에서 스코프를 숨길 수 있습니다. 각 클라이언트는 특정 범위 세트에 노출되어야합니다. – Lutando