-
카테고리
-
세부 분야
백엔드
-
해결 여부
해결됨
하위 도메인 쿠키 공유 관련
21.07.22 18:19 작성 조회수 603
0
안녕하세요 ^^
예를 들어 http://www.domain.com 이라는 asp.net core 사이트와
http://test.domain.com 라는 asp.net core 사이트가 존재한다고 가정했을때
http://www.domain.com에서 생성된 로그인 쿠키 정보를
http://test.domain.com에서 가져올수 있는 방법이 있을까요?
답변을 작성해보세요.
0
vyrudaks
질문자2021.07.23
말씀 감사합니다^^
알려주신대로 해봤더니 두 사이트간의 쿠키가 공유되는건 확인했습니다.
다만 http://www.domain.com에서 아래 이미지와 같이 설정한뒤에
http://www.domain.com 에서 로그인 후에 로그인한 사람의 id나 이름을 가져올때는
User.FindFirst("Id").Value나 User.FindFirst("Name").Value로 가져올수 있는데요.
http://test.domain.com 에서 id나 이름을 가져올때는
User.FindFirst("Id").Value , User.FindFirst("Name").Value로 가져올수가 없드라구요...
대신 http://www.domain.com 에서 로그인을 하면
UserAuth 이름의 쿠키값 전체가 자동으로 암호화가 됩니다.
그 암호화된 쿠키값을 http://test.domain.com 에서 가져올수는 있습니다
결론은
1. http://test.domain.com에서도 User.FindFirst("Id").Value방식으로 가져올수있는 방법이
있는지 문의드리고자 합니다,
2. 만약 가져올수 있는 방법이 없다면
닷넷 코어에서 쿠키를 생성할때 자동으로 암호화를 시킨 값을
백단에서 임의로 복호화가 가능할지를 좀 문의드립니다 ^^
닷넷 코어가 처음이라..모르는게 너무 많습니다 ㅠㅠ
부탁드리겠습니다 강사님^^
0
김정수
지식공유자2021.07.22
vyrudaks님, 반갑습니다.
Startup 클래스의 ConfigureServices 메서드 맨 하단에 다음 코드를 추가합니다.
services.ConfigureApplicationCookie(c =>
{
c.Cookie.Domain = ".domain.com";
});
이렇게 할 경우에 *.domain.com 사이트들에서 쿠키를 공유할 수 있는 것으로 알고 있습니다.
제가 테스트할 수가 없어서 테스트를 부탁드립니다.
P.S. 하위 도메인 쿠키라고 해서 모두 공유가 가능한 것이 아닙니다.
아래 링크는 브라우저 응답에서 호스트 domain 속성에 대해 허용 및 거부되는 도메인을 보여줍니다.
즐거운 코딩하세요.
답변 2