이제는 단일 서비스 애플리케이션을 마이크로 서비스 (전용 레일 앱)로 분리하려고합니다. 각 서비스에서 권한 서비스를 이동할 수있는 솔루션이 있습니까? 서비스?Rails : Knock (JWT)를 사용한 전용 인증 서비스 및 앱 서비스가있는 마이크로 서비스 아키텍처
예를 들어 인증 목적으로 사용자 모델이있는 '노크'보석을 사용하여 6 가지 Rails API 서비스가 있습니다. 모든 서비스가 하나의 사용자 데이터베이스를 공유합니다.
사용자 모델로 전용 서비스를 구현하고 싶지만 다른 서비스가 주어진 토큰을 사용하여 사용자를 확인하는 방법은 무엇입니까?
또한 사용자가 사용할 수 있고 사용할 수없는 서비스를 제어 할 수 있기를 원합니다. 그래서 AccessRole 서비스가 있어야합니까?
경우초안 :
- 사용자는 '기사'(프론트 엔드 인터페이스 클라이언트)
- auth_service는
- access_service 어떻게 든 auth_service에서 메시지를 받았습니다 클라이언트에서 토큰의 유효성을 검사 및 액세스에 대한 사용자의 역할을 검증한다 '기사로 이동 '리소스.
- articles_service json 데이터로 클라이언트에 응답을 보냅니다. 여기
몇 가지 추가 질문 :
access_service가 auth_service와 통신하는 방법- ? 사용자의 자격 증명과 역할을 확인하기 위해 하나의 사용자 데이터베이스를 사용해야합니까?
- articles_service 등 - 공개적으로 액세스 할 수없는 개인적인 서비스가되어야하며 사용자에게 블랙 박스 역할을해야합니까?