Peoplecode - 如何创建 cookie?

Peoplecode - how to create cookies?

我们正在尝试使用 %Response 对象在 PeopleSoft Peoplecode 中创建一个 cookie。

但是,我们尝试的代码失败了。

&YourCookie = %Response.AddCookie("YourCookieName", "LR");

我们尝试创建 cookie 的另一个片段

Local object &Response = %Response;
Local object &YourCookie;
&YourCookie = &Response.CreateCookie("YourCookieName");
&YourCookie.Domain = %Request.AuthTokenDomain;
&YourCookie.MaxAge = -1; /* Makes this a session cookie (default) */
&YourCookie.Path = "/";
&YourCookie.Secure = True; /* Set to true if using https (will still work with http) */
&YourCookie.Value = "Set the cookie value here. Encrypt sensitive information.";

文档参考指向称为 CreateCookie 方法等的 IScript 函数。 http://docs.oracle.com/cd/E15645_01/pt850pbr0/eng/psbooks/tpcr/chapter.htm?File=tpcr/htm/tpcr21.htm

但是,这些在 Peoplecode 中不起作用。我们不具备创建或使用 IScript 的知识。非常感谢对 cookie 或 IScript 的人员代码 API 的任何见解。

我刚刚在 PeopleTools 8.54.11 上进行了测试,并且能够使用您在上面提供的代码段创建 cookie。

我确实发现我设置

时遇到了问题
&YourCookie.Secure = True; 

在我使用 HTTP 的环境中。

如果您将 Secure 设置为 False,则 cookie 将在 HTTP 和 HTTPS 中可用

如果您将 Secure 设置为 True,则 cookie 仅在 HTTPS 中可用

PeopleTools 8.54 Documentation showing the CreateCookie method

我一直在尝试从 signon peoplecode 中执行此操作(相同的代码片段),工具版本是 8.54.09。我可以执行前两行代码,但是一旦执行 CreateCookie() 方法的代码行执行,我就会被抛出/最终出现在登录错误页面上。

这似乎支持之前的回答说 API 已经删除了该方法,但之前的回答说它在工具 8.54.11 上成功了——这是否意味着他们删除了它,然后把它放回去,我碰巧被一个版本卡住了,它被删除了? :-/