Python 使用承载头对受IAP保护的资源进行身份验证?

Python 使用承载头对受IAP保护的资源进行身份验证?,python,google-cloud-platform,google-iap,Python,Google Cloud Platform,Google Iap,是否可以使用Authorization:Bearer…头通过身份识别代理向受保护的应用程序发出请求?(当然,使用服务帐户。从GCP外部。) 我不想执行OIDC令牌交换,是否支持此操作 如果有,有人举过什么例子吗 到目前为止,我有以下几点,但不起作用: iat=time.time() exp=iat+3600 有效负载={'iss':帐户['client_email'], “sub”:帐户[“客户端电子邮件”], “aud”:“/projects/NNNNN/apps/XXXXXXX”, “iat

是否可以使用
Authorization:Bearer…
头通过身份识别代理向受保护的应用程序发出请求?(当然,使用服务帐户。从GCP外部。)

我不想执行OIDC令牌交换,是否支持此操作

如果有,有人举过什么例子吗

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

iat=time.time()
exp=iat+3600
有效负载={'iss':帐户['client_email'],
“sub”:帐户[“客户端电子邮件”],
“aud”:“/projects/NNNNN/apps/XXXXXXX”,
“iat”:iat,
“exp”:exp}
附加_头={'kid':帐户['private_key']}
签名的jwt=jwt.encode(有效负载,帐户['private\u key',头文件=附加的\u头文件,
算法(RS256')
有符号解码('utf-8')

这将产生:
无效的IAP凭据:JWT签名无效

这当前不受支持。IAP期望Google帐户基础设施使用其私钥生成签名,因此签名检查失败。您能告诉我更多关于您为什么希望避免OIDC代币交换的信息吗--Matthew,Google IAP Engineering

Google OAuth访问令牌不包含身份信息。您必须使用OIDC身份令牌来验证谁正在访问资源。这真的很有帮助,谢谢。我正在尝试使用Salesforce对外部服务的声明性支持。它有两个身份验证选项:JWT和JWT令牌Echange。我怀疑我需要使用后者,但这可能是一个新问题。