1

저는 아키텍처에서 인증 서버로 IdentityServer3를 사용하고 있습니다.JWT의 클레임과 자원의 클레임 변환 비교

리소스 범위를 통해 내 클라이언트 (웹 앱 및 iOS 앱)에게 액세스 권한을 부여하는 API 리소스가 있습니다.

질문 1 : 난 내 API에서 클레임 기반 인증을 수행 할 경우 (예를 들어 일부 사용자 만 가지고, CanViewQuestions라고 주장)해야 내가 :

A)를 사용 IdentityServer, 예를 들면시 인증은 사용자가 소유권 주장을 가지고 있으면서 JWT에 추가합니다.

b) subject (예 : userId) 주장을 JWT에 넣고 API에서 조회하여 클레임 변환을 수행합니까?

저는 현재 b)를하고 있지만 인증 서버 (예 : IdSrv) 자체에서 수행해야하는지 궁금하십니까?

권장 방법은 무엇입니까? 내가 백그라운드 서비스가있는 경우

질문 2

내가 또한 내가 클라이언트 자격 증명을 사용하여 내 API 리소스에 대한 액세스 권한을 부여 할 (특히 푸른 근무)이 서비스를 액세스 토큰을 제공하기 위해 흐른다. 하지만이 서비스에 위의 동일한 요청 (CanViewQuestions)을 어떻게 제공 할 수 있습니까? 나는 기본적으로 특정 리소스가 클레임 CanViewQuestions을 요구할 수 있도록 API를 갖고 싶지만, 클라이언트가 웹 앱 (예 : 최종 사용자 관련)인지 또는 클라이언트 (최종 사용자 없음)인지 상관하지 않습니다. 요청자가 소유권을 주장하는 경우, 가야합니다.

은 내가해야 할 것인가 :

A) 클라이언트가 서비스의 경우 클레임 기반 변환 후 바로 모든 주장을 추가보고 사용?

b)에 삽입하기 전 클라이언트 자격 증명) 다른

C) 뭔가 주장을 지원하지 않는 흐름을 읽은 있지만 JWT의 주장 (?

감사합니다.

답변

1

두 경우 모두 토큰이 아닌 API에서 API 특정 클레임을 추가하는 것이 좋습니다.

권한 부여 관련 데이터는 항상 보호하려는 리소스에 최대한 가깝게 추가해야합니다.