새소식

Php

[Laravel] Cookie's domain

  • -
728x90

[Laravel] Cookie - domain

이번에 회사에서 리팩토링을 진행하게 되었는데 기존의 웹과 리팩토링하는 웹의 로그인을 연동하기 위해 작업을 진행하게 되었다. 동일하게 쿠키를 사용하여 해당 기능을 구현하기로 기획했다.

 

Laravel's Cookie

https://laravel.com/api/5.8/Illuminate/Contracts/Cookie/QueueingFactory.html 

 

Illuminate\Contracts\Cookie\QueueingFactory | Laravel API

interface QueueingFactory implements Factory (View source) Methods make(string $name, string $value, int $minutes = 0, string|null $path = null, string|null $domain = null, bool|null $secure = null, bool $httpOnly = true, bool $raw = false, string|null $sa

laravel.com

Laravel 에서 지원하는 Cookie::queue 를 사용하여 간단하게 값을 입력할 수 있지만 여기서 문제가 하나 있다.

 

Sharing Cookies with Subdomains in Laravel

기존의 웹을 메인으로 설정하고, 후에 작업하는 웹을 서브로 설정했을 때 두 가지 웹에 쿠키가 모두 적용되어야 한다.예를 들어 메인 도메인이 'domain' 인 a.domain.com 과 b.domain.com 이 있다고 가정하였을 때 '.domain.com'으로 쿠키의 도메인 값을 지정해주어야 공통되게 사용할 수 있다.하지만 반대로 'a.domain.com' 이라는 웹에서 'b.dodomain.com' 라는 웹과 쿠키를 공용으로 사용하려고 cookie 도메인에 '.dodomain.com' 을 입력해주려고 한다면 쿠키의 입력 조차 정상적으로 이루어지지 않는다.당연한거지만 당연하다고 생각하지 못해 4시간 정도 고민했던 사항이라 이렇게라도 기억하고 한명이라도 덜 고생했으면 좋겠다는 생각이다.

 

사용법은 아래와 같이 매우 간단하지만 정해진 규격에 맞게 잘 사용하면 될 것 같다.

[concenpt]
Cookie::queue($name, $value, $expiretime, $path, $domain)
[ex]
Cookie::queue('id', md5($id), 30, null, '.domain.com')

 

 

 

728x90

'Php' 카테고리의 다른 글

[PHP] base64_encode 란  (0) 2023.07.24
[PHP] header 란 ?  (0) 2023.01.04
[PHP] 자주쓰는 메서드 정리  (0) 2022.06.21
[PHP] crontab  (0) 2022.06.20
[Laravel] DB 수정 내역 배포  (0) 2022.01.06
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.