使用 Javascript 访问 Google 身份识别代理 (IAP) Headers

Accessing Google Identity Aware Proxy (IAP) Headers using Javascript

我的 App Engine 实例目前受身份识别代理 (IAP) 保护。该应用程序是一个单页应用程序,没有后端,因此没有使用 python 等。是否仍然可以访问 X-Goog-Authenticated-User-Email header 然后根据它做一些事情?

我已尝试使用此代码访问控制台中的 header,但它不存在:

var req = new XMLHttpRequest();
req.open('GET', document.location, false);
req.send(null);
var headers = req.getAllResponseHeaders().toLowerCase();
alert(headers);

理想情况下,我会在我的一个 JS 文件中包含一些代码:

if X-Goog-Authenticated-User-Email == 'PersonA' then do this
else do this

X-Goog-Authenticated-User-Email 只能在服务器端访问。您无法在客户端访问此 header。

此信息可在您的请求中找到 header。因此,如果您使用的是 express,则可以从请求 object 中提取它并将内容存储在变量中。 运行 你的逻辑。 ** 编辑我的答案以添加一些上下文 ** 所以你可以这样做

var reqHeader = req.get('x-goog-authenticated-user-email'); 
// all ID's will have the prefix "acccounts.google.com:" - 

所以您必须检查这是否是您想要的 运行 您的逻辑,或者您可以编辑 header 以提取电子邮件。