使用 Bearer Header 针对受 IAP 保护的资源进行身份验证?

Authenticating Against an IAP Protected Resource with Bearer Header?

是否可以使用 Authorization: Bearer … header 通过 Identity Aware Proxy 向我的受保护应用程序发出请求? (当然是使用服务帐户。来自 GCP 外部。)

我想执行OIDC令牌交换,支持吗?

如果是这样,有没有人有任何例子?

到目前为止,我有以下但不起作用:

iat = time.time()
exp = iat + 3600
payload = {'iss': account['client_email'],
           'sub': account['client_email'],
           'aud': '/projects/NNNNN/apps/XXXXXXX',
           'iat': iat,
           'exp': exp}
additional_headers = {'kid': account['private_key']}
signed_jwt = jwt.encode(payload, account['private_key'], headers=additional_headers,
                       algorithm='RS256')

signed_jwt = signed_jwt.decode('utf-8')

这会产生:Invalid IAP credentials: JWT signature is invalid

目前不支持此功能。 IAP 需要 Google 帐户基础设施使用其私钥生成的签名,因此这就是签名检查失败的原因。你能告诉我更多关于为什么你想避免 OIDC 令牌交换吗? --Matthew,Google IAP 工程