wso2 api 관리자와 서버 간 통신을 구현하고 싶으므로 내 API를 자신의 응용 프로그램을 만들고 내 API에 등록 할 수있는 thirdparty 클라이언트에서 사용할 수 있습니다. 또한 이러한 클라이언트는 특정 자원 세트에 의해 제한되어야합니다. 조직 ID 세트가 있으며 각 특정 클라이언트는 일부 ID 하위 세트에만 액세스해야합니다. 클라이언트 키가 WSO2AM_DB의 IDN_OAUTH_CONSUMER_APPS 테이블에 저장된다는 것을 알았습니다. 이 DB에 연결하여 clientId-to-organizationIds 매핑을 구현하는 중개자의 도움을 받아 개별 서비스에서 클라이언트 ID를 읽을 수 있습니다.이 서비스를 호출하고 url에 지정된 조직 ID가 허용되는지 확인하고 액세스 토큰에 조직 ID 속성을 추가 할 수 있습니다. 백엔드 서비스는 조직이 허용되면 한 번 더 확인할 수 있습니다. 그러나 이것이 올바른 접근법인지 확실하지 않습니다. 어쩌면 그러한 조작없이 도울 수있는 wSO2의 무언가가 있을까요? 당신이 발견으로클라이언트 자격 증명 흐름에 대한 wso2 api 관리자에서 클라이언트 키 별 특정 리소스에 대한 액세스를 제한하는 방법?
1
A
답변
0
또한 이러한 클라이언트는 자원
의 특정 설정에 의해 제한되어야한다 - API를 관리자가 엔드 포인트에 따라 통화 권한을 부여합니다. 리소스 (예 : 특정 ID) 자체는 백엔드 서비스에 의해 승인되어야합니다. API 관리자에게이 수준의 승인을 적용하는 것이 합리적인지 확신 할 수 없습니다 (가능한 것은 아니지만 유연하지 않을 수도 있음).
어쩌면 wso2에는 이러한 조작없이 도움이 될만한 것이 있습니까?
나는 다음과 같이 제안합니다 : JWT token을 백엔드 서비스에 보내십시오. 백엔드 서비스는 제품 데이터베이스에 하드 바인딩하지 않고 권한 부여 (사용자 이름, 응용 프로그램 등을 기반으로)를 수행해야합니다.
링크 된 문서는 자체 토큰 생성기를 구현하는 방법도 설명하므로 jwt 토큰 (예 : 조직 ID 등)에 추가 클레임을 추가 할 수 있습니다.
관련 문제
- 1. WebAPI에서 DB 리소스에 대한 액세스를 제한하는 방법
- 2. MVC에서 특정 파일에 대한 액세스를 제한하는 방법
- 3. django에서 특정 행에 대한 액세스를 제한하는 방법
- 4. OAuth2 클라이언트 자격 증명 흐름 이해
- 5. 클라이언트 라이브러리 단위 테스트의 자격 증명 저장소
- 6. Azure B2C 클라이언트 자격 증명 부여
- 7. WCF 메시지 수준 보안 클라이언트 자격 증명
- 8. 젠킨스에 대한 액세스를 제한하는 방법?
- 9. api에 대한 액세스를 제한하는 방법
- 10. RESTEasy가 클라이언트 프레임 워크 인증 자격 증명
- 11. ESXi 웹 클라이언트 자동 채우기 자격 증명
- 12. JWT 클라이언트 자격 증명 부여를 저장하는 곳
- 13. Identity Server 4의 클라이언트 자격 증명 플로우에 대한 JWT 제목 필드를 채우는 방법은 무엇입니까?
- 14. 서버를 통한 특정 클라이언트 통신에 대한 클라이언트
- 15. wso2 api 관리자에서 맞춤 중재자를 추가하는 방법
- 16. 개발자를위한 MySQL 데이터베이스에 대한 액세스를 제한하는 방법
- 17. 자격 증명
- 18. 요청자를 기반으로 엔티티의 특정 속성에 대한 액세스를 제한하는 방법
- 19. SSAS 역할 - 큐브에 대한 액세스를 제한하는 역할 만들기 (국가 별)
- 20. 스프링에서 정적 리소스에 대한 액세스를 보호하는 방법
- 21. 올바른 방법 Mule OAuth2 클라이언트 자격 증명 새로 고침 토큰
- 22. HTML5 LocalStorage에서 API 자격 증명 저장
- 23. 엔티티에 대한 액세스를 제한하는 Breezejs
- 24. Firefox NTLM localhost에 대한 자격 증명
- 25. 앱에 대한 영웅 자격 증명 설정 heroku에
- 26. 사용자가 웹 페이지에 대한 액세스를 제한하는 방법
- 27. phpbb - 게시판 인덱스에 대한 액세스를 제한하는 방법
- 28. 하위 도메인에 대한 사용자 액세스를 제한하는 방법
- 29. 파일 URL에 대한 액세스를 제한하는 방법
- 30. 정적 콘텐츠에 대한 사용자 액세스를 제한하는 방법
BE에 대한 리소스 제한을 확인해야하는 경우 wso2 db에서 클라이언트 ID를 가져와야하며 하드 바인딩이 필요합니다. 실제 BE 서비스 호출 전에 리소스 제한을 수행하고 JWT에서 orgId 속성을 추가하려고합니다. 이는 BE 호출 수 측면에서보다 효율적이며 BE는 허용 된 리소스를 인식하지 않기 때문에 - JWT의 id와 url param의 id를 비교합니다. 내가하고 싶은 일은 클라이언트와 관련 ID를 등록 할 별도의 서비스를 작성한 다음 그 내보내기 클라이언트를 wso2로 작성하는 것입니다. 따라서 wso2 중재자는이 서비스에 연결하여 필요한 정보로 JWT를 채울 수 있습니다. – dizon