我想使用中间件添加 cookie。
在 TYPO3 中,我有Psr\Http\Message\ServerRequestInterface $request
和Psr\Http\Server\RequestHandlerInterface $handler
变量。
添加具有所有必要设置(安全、域、过期)的 cookie 的最佳做法是什么?
我想使用中间件添加 cookie。
在 TYPO3 中,我有Psr\Http\Message\ServerRequestInterface $request
和Psr\Http\Server\RequestHandlerInterface $handler
变量。
添加具有所有必要设置(安全、域、过期)的 cookie 的最佳做法是什么?
PSR 中没有为此提供明确的接口,因为它基本上归结为Set-Cookie
在$response
. 您可以自己构建该标头,也可以使用一些为您执行此操作的包:
我的工作代码现在是:
$cookie = \Dflydev\FigCookies\SetCookie::create($name)
->withValue($value)
->withDomain($request->getAttribute('site')->getBase()->getHost())
->withSecure(true);
$response = new \TYPO3\CMS\Core\Http\RedirectResponse(
(string)$request->getUri(),
302,
['Set-Cookie' => (string)$cookie]
);
cookie 已设置,我重定向访问者,因此也可以通过 TypoScript 条件读取 cookie。