我有两个独立的应用程序:
- 第一个应用程序部署在 oauth2_proxy 后面的 Kubernetes 集群中。
- 第二个应用部署在 Azure 应用服务中。
两个应用都使用 oauth2 流针对 Azure Active Directory 对用户进行身份验证。
我想使用第二个应用程序的访问令牌并使用它来访问第一个应用程序的 API。
我该怎么做才能让oauth2_proxy验证它?
我有两个独立的应用程序:
两个应用都使用 oauth2 流针对 Azure Active Directory 对用户进行身份验证。
我想使用第二个应用程序的访问令牌并使用它来访问第一个应用程序的 API。
我该怎么做才能让oauth2_proxy验证它?
解决方案是将应用程序的第二个应用程序的受众添加到--extra-jwt-issuers
参数中。以下是如何使用它的配置和细节。
- --azure-tenant=11111111-2222-3333-4444-55555555
- --email-domain=*
- --http-address=0.0.0.0:4180
- --provider=oidc
- --set-authorization-header=true
- --set-xauthrequest=true
- --pass-access-token=true
- --pass-authorization-header=true
- --pass-user-headers=true
- --pass-host-header=true
- --skip-jwt-bearer-tokens=true
- --oidc-email-claim=oid
- --oidc-issuer-url=https://sts.windows.net/11111111-2222-3333-4444-55555555/
- --extra-jwt-issuers=https://sts.windows.net/11111111-2222-3333-4444-55555555/=api://app1-2222-3333-4444-55555555,https://sts.windows.net/11111111-2222-3333-4444-55555555/=api://app2-2222-3333-4444-55555555
正如您在上面看到的,我实际上添加了两个颁发者,这是因为我正在使用两个需要进行身份验证的应用程序。