OAuth2 是否需要从应用程序服务器访问身份验证提供程序的互联网?



我想使用 Azure AD 作为在 Intranet 服务器上运行的应用程序的身份验证提供程序来试用 Oauth2 身份验证。

后端无法访问互联网(没有代理(。这包括login.microsoftonline.com.使用该应用程序的客户端可以访问内联网以及互联网。

OAuth2 是否要求服务器使用"默认"流访问身份验证提供程序?

这实际上取决于使用的流。 例如,"授权代码授予流"还需要从服务提供商 (SP( 位置(在您的情况下为 Grafana 应用程序(访问令牌端点。

这不仅仅是关于元数据。实际上,某些 SP 需要与用户信息端点或自检端点"对话"。因此,可以有更多的端点,这些端点应该可用。

这略微取决于所使用的流。 授权代码流要求后端将收到的代码发布到 Azure AD,因此你需要访问权限。

如果 API 不使用 Azure AD令牌调用其他 API,则它可能根本不联系 Azure AD。

但是您需要对签名密钥等进行硬编码,您可以通过OpenID元数据获得,例如https://login.microsoftonline.com/your-tenant-id/v2.0/.well-known/openid-configuration. 如果使用 v1 终结点/v1 令牌,则可以从 URL 中删除 v2.0。

通常,您的应用程序会在启动时自动加载此文档。 至少大多数库都这样做。

如果您在应用中对此信息进行硬编码,您当然要负责更新它,而不是自动更新它。

相关内容

最新更新