diff --git a/.changeset/dry-vans-worry.md b/.changeset/dry-vans-worry.md new file mode 100644 index 000000000..3fccdda64 --- /dev/null +++ b/.changeset/dry-vans-worry.md @@ -0,0 +1,5 @@ +--- +'@segment/analytics-next': patch +--- + +Fixes an issue where the 'secure' cookie setting was not being applied correctly when specified. diff --git a/packages/browser/src/core/user/__tests__/index.test.ts b/packages/browser/src/core/user/__tests__/index.test.ts index 9a43610e0..1f2b2c0fe 100644 --- a/packages/browser/src/core/user/__tests__/index.test.ts +++ b/packages/browser/src/core/user/__tests__/index.test.ts @@ -513,6 +513,22 @@ describe('user', () => { expect(cookie['options'].domain).toBe('foo') expect(cookie['options'].secure).toBe(true) expect(cookie['options'].path).toBe('/test') + expect(cookie['options'].secure).toBe(true) + }) + + it('should pass options when creating cookie', () => { + const jarSpy = jest.spyOn(jar, 'set') + const cookie = new Cookie({ domain: 'foo', secure: true, path: '/test' }) + + cookie.set('foo', 'bar') + + expect(jarSpy).toHaveBeenCalledWith('foo', 'bar', { + domain: 'foo', + expires: 365, + path: '/test', + sameSite: 'Lax', + secure: true, + }) }) }) diff --git a/packages/browser/src/core/user/index.ts b/packages/browser/src/core/user/index.ts index 0f9f84bf6..5fc330fb8 100644 --- a/packages/browser/src/core/user/index.ts +++ b/packages/browser/src/core/user/index.ts @@ -92,6 +92,7 @@ export class Cookie extends Store { expires: this.options.maxage, domain: this.options.domain, path: this.options.path, + secure: this.options.secure, } }