如何配置gitkit cookie

时间:2015-11-03 21:16:15

标签: java google-identity-toolkit

有没有办法配置gitkit cookie的参数?

具体来说,我想指定域和路径。我正在使用java。

查看www.gstatic.com/authtoolkit/js/gitkit.js的来源,有一个" cookiePolicy"但https://developers.google.com/identity/toolkit/web/setup-frontend没有文件。

我想配置它的原因是使用来自不同子域的相同的gtoken(gitkit)cookie。但也许这可以通过Google Cloud Console(浏览器API密钥)设置?

1 个答案:

答案 0 :(得分:1)

Gitkit现在支持自定义cookie策略。官方文档尚未更新,但基本上它是如何工作的:

有3项政策:

  • 单个主机来源:将强制执行不包含子域的单个主机名。未提供时,这是默认选项。它也是当前客户端使用的策略。因此,仅使用当前域及其根路径而不是其子域。因此,如果在页面http://example.com上设置了cookie,则只有该域可以读取该cookie。 http://www.example.com将无法读取Cookie。
  • 无:没有保存gtoken cookie。
  • Uri:在这种情况下,提供了一个uri,例如:https://b.c.com/path/to/cookie/root/,它将用于确定以下cookie属性: 安全:这是根据协议确定的。它只接受https或https / http。任何其他方案都会发出错误。设置https时,此字段为true。 域:在这种情况下,域将设置为.b.c.com。 路径:如果未提供,路径将设置为“/”,否则在下面的示例中将设置为“/ path / to / cookie / root /”。

使用:

var config = {
  apiKey: 'xxx',
  signInSuccessUrl: '/main',
  oobActionUrl: '/email',
  signInOptions: ['google', 'facebook', 'password'],
  cookiePolicy: 'https://b.c.com/path/to/cookie/root/'
  // cookiePolicy: 'none'
  // cookiePolicy: 'single_host_origin'
};
window.google.identitytoolkit.start(
  '#gitkitWidgetDiv',
  config,
  '');