2017-12-18 79 views
0

각기 다른 사용자 테이블이있는 여러 도메인에서 여러 서비스를 사용할 수 있습니다.간단한 중앙 인증 서비스 - 서비스 간 이동

저는 간단한 통합 인증 시스템과 싱글 사인온 (SSO)을 구현하려고합니다.

지금까지 사용자가 CAS 페이지에서 등록/로그인하고 인증 코드와 함께 선택한 서비스로 리디렉션하도록 워크 플로를 마련했습니다.

서비스는 다음 access_token이에 대한 코드를 교환하고 사용자 정보를 가져 와서/업데이트 사용자를 만들고 그들을 기록합니다.

을 나는 그들이이 서비스 중 하나에 인증 한 후 사용자가 서비스 사이를 탐색 할 수 있도록하려면 .

목표는 여러 서비스 간의 원활한 탐색을 제공하는 것입니다.

사용자가 다른 서비스를 탐색 할 때 분명히 해당 서비스가 CAS 서버와의 자체 승인 트랜잭션을 수행해야하지만 트랜잭션의 특성이 어떻게 보이는지는 확실하지 않습니다.

모든 서비스가 중앙 인증 서비스와 SSO를 사용하고있을 때 서비스 간 무차별 서비스 탐색을 어떻게 만들 수 있습니까?

+0

oauth 프레임 워크를 조사해야합니다. –

+0

@HyderB. 의견을 주셔서 감사합니다 - OAuth 워크 플로를 살펴 보았습니다. 사용자가 여러 서비스를 탐색하는 방법을 파악하지 못했습니다. – ImpendingDoom

답변

0

귀하의 서비스가 모두 CAS와 통합되어있는 경우, 일종의 토큰/티켓을 얻으려면 각 서비스에서 CAS에 문의 한 다음 CAS에 유효성을 검사하여 사용자 프로필을 받아야합니다. 실제 인증 작업은 CAS가 SSO 세션을 설정할 수 있도록 한 번만 수행되지만 앱이 세션을 만료하기 때문에 사용자를 인증하기로 결정할 때 일반적으로 티켓을 받고 유효성을 검사하는 작업이 앱당 하나씩 수행됩니다.

같은 개념은 인증 프로토콜에 관계없이 동일하게 작동합니다. (OAuth, CAS 등). 이것은 어느 정도 브라우저가 관련된 웹 기반 서비스라고 가정합니다. 다른 백엔드 서비스를 프록 싱하는 서비스가있는 경우 동일한 솔루션이 약간 더 복잡해집니다.