使用 TYPO3 中间件时如何添加 cookie?
Posted
技术标签:
【中文标题】使用 TYPO3 中间件时如何添加 cookie?【英文标题】:How to add a cookie when using TYPO3 Middleware? 【发布时间】:2021-01-04 14:44:44 【问题描述】:我想使用中间件添加 cookie。
在 TYPO3 中,我有 Psr\Http\Message\ServerRequestInterface $request
和 Psr\Http\Server\RequestHandlerInterface $handler
变量。
添加具有所有必要设置(安全、域、过期)的 cookie 的最佳做法是什么?
【问题讨论】:
【参考方案1】:在 PSR 中没有明确的接口,因为它基本上归结为在 $response
中发送 Set-Cookie
标头。您可以自己构建该标头,也可以使用一些为您执行此操作的包:
【讨论】:
【参考方案2】:我现在的工作代码是:
$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 已设置,我重定向访问者,因此 cookie 也可以被读取。一个 TypoScript 条件。
【讨论】:
以上是关于使用 TYPO3 中间件时如何添加 cookie?的主要内容,如果未能解决你的问题,请参考以下文章