해결 - Chrome의 Rails에 대한 SameSite 문제
SameSite 속성은 브라우저에 자사 또는 타사 응용 프로그램과 함께 쿠키를 사용하는 시기와 방법을 알려줍니다. SameSite는 대부분의 브라우저에서 쿠키 액세스 허용 여부를 식별하는 데 사용됩니다.
SameSite 속성 값은 다음과 같습니다.
Lax - 자사 쿠키만 액세스할 수 있습니다.
Strict - 자사 쿠키만 활성화하고 외부 사이트의 쿠키 액세스 요청도 허용하지 않습니다.
없음 - 제3자/외부 사이트에서 쿠키에 액세스할 수 있습니다.
Chrome에서 업데이트:
이전에는 SameSite 속성이 설정되지 않은 경우 기본적으로 '없음'으로 설정되어 제3자가 쿠키에 액세스할 수 있습니다. 이제 SameSite 속성이 설정되지 않은 경우 Chrome은 기본적으로 첫 번째 당사자만 쿠키에 액세스할 수 있도록 허용하는 'lax'로 설정됩니다.
따라서 제3자가 애플리케이션 쿠키에 액세스해야 하는 경우 SameSite를 '없음'으로 명시적으로 지정해야 합니다. 이 경우 보안도 지정해야 합니다. 명시적으로 'SameSite: None; Secure', 쿠키는 제3자에게 공유됩니다.
Rails에서 이 문제를 어떻게 해결합니까?
Rails에서 이 문제를 해결하려면 SameSite=None 및 Secure로 쿠키를 명시적으로 설정해야 합니다. SameSite 및 Secure를 설정하려면 session_store.rb를 수정해야 합니다.
config/initializers/session_store.rb
Rails.application.config.session_store :cookie_store, {
:key => '_application_session',
:domain => :all,
:same_site => :none,
:secure => :true,
:tld_length => 2
}
유일한 캐치는 Secure 속성을 지정했기 때문에 쿠키가 보안 연결(HTTPS)로만 공유된다는 것입니다. 개발 환경에서 이것을 테스트하려면 ngrok 을 사용하십시오.
그게 다야! 귀하의 애플리케이션은 Chrome에서 완벽하게 작동합니다. 건배!
Reference
이 문제에 관하여(해결 - Chrome의 Rails에 대한 SameSite 문제), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/heerthees/solved-samesite-issue-with-rails-in-chrome-3g26텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)