3
OpenIddict, JWT, 리소스 소유자 부여 및 클레임 기반 역할이있는 ASP.NET 코어를 사용하고 있습니다. 정책을 적용하지 않은 권한 부여는 예상대로 작동합니다.OpenId Connect를 통한 클레임 기반 인증
일부 컨트롤러 및 동작 방법에 대해 인증 정책을 시행하고 싶습니다. 내 모든 사용자가 역할의 주장을, 그래서 나는 시작에 다음과 않았다
services.AddAuthorization(options =>
{
options.AddPolicy("Admin", p => p.RequireClaim("Admin");
});
그리고 나는 액션 메소드에 다음 않았다 : "관리자"없이
[Authorize("Admin")]
public async Task<string> Index()
{
return "Yes";
}
, 내가 접근 할 수 있었다 자원, "Admin"을 추가 한 후에는 그럴 수 없습니다.
생성 된 JWT 토큰에 사용자 클레임이 없으므로이를 가정합니다.
- 내 JWT에 토큰이 작동하는 사용자 역할 클레임이 있어야합니까?
- OpenIddict를 사용하여 역할 클레임을 보내려면 어떻게해야합니까?
나는 이것을 수행하여 토큰으로 역할을 반환했습니다. 그렇지만 내 정책이 아닌 주장을 요구하는 정책을 수정해야했지만 지금은 효과가 있습니다. 감사합니다. – Adam