도메인이 서로 다른 상황인데,
로그인 서버를 별도로 둘 경우....
spring, spring security 사용중인데.
로그인 서버를 별도로 둔 후
서로 다른 도메인에서 해당 로그인 서버를 통하여 로그인 처리하려고 합니다.
OAuth말고, 이 문제를 어떻게 해결하는 것이 좋을까요?
아..분명 예전에 좋은 방법을 알고 있었는데...... 기억이 안납니다.. T_T
나빠진 머리
도메인이 서로 다른 상황인데,
로그인 서버를 별도로 둘 경우....
spring, spring security 사용중인데.
로그인 서버를 별도로 둔 후
서로 다른 도메인에서 해당 로그인 서버를 통하여 로그인 처리하려고 합니다.
OAuth말고, 이 문제를 어떻게 해결하는 것이 좋을까요?
아..분명 예전에 좋은 방법을 알고 있었는데...... 기억이 안납니다.. T_T
나빠진 머리
3개의 의견 from SLiPP
지난 회사(archeage.com)에서 개발한 경험을 공유하면 다음과 같습니다.
인증은 spring security 기능을 활용했고요. cookie를 활용해서 처리했습니다. cookie에 인증 관련 모든 정보를 담지는 않았고요. 인증 키 값을 하나 발급해서 이 놈을 cookie에 암호화해서 넣었습니다. 그리고 각 요청마다 이 암호화한 값을 decoding해서 유효한 키 값인지를 검증하는 방식을 사용했습니다. key값을 암호화하는 부분은 인증 서버에 있고요. 각각의 도메인에서는 docoding해서 유효한 키 값인지를 검증하는 부분이 있었습니다. spring security 활용하면 remember me 기능도 쉽게 구현할 수 있었습니다.
전 예전에 이런 상황을 SSO로 해결했습니다. 중간에 인증 상태를 유지하는 SSO 서버를 두고 모든 서비스가 이 서비스를 중심으로 인증 정보를 공유하는 구조였는데 대략 cosign과 비슷한 방식이었습니다.
http://weblogin.org/overview.shtml
요즘은 워낙 많은 SSO 솔루션이 오픈소스로 나와서 선택하기 좋은 상황 같습니다. 정확한 건 아니지만 CAS가 표준처럼 취급되는 분위기 같더군요.
http://www.jasig.org/cas
Spring Security도 CAS를 지원합니다.
http://static.springsource.org/spring-security/site/docs/3.0.x/reference/cas.html
PS. 저도 CAS는 적용해보지 않았다는 게 반전 -_-);
여러가지 정보 감사합니다!!
나중에 적용하면 따로 글 올리도록 하겠습니다.
의견을 남기기 위해서는 SLiPP 계정이 필요합니다.
안심하세요! 회원가입/로그인 후에도 작성하시던 내용은 안전하게 보존됩니다.
SLiPP 계정으로 로그인하세요.
또는, SNS 계정으로 로그인하세요.