外联网中的openid连接认证协议

问题描述 投票:0回答:2

我有一个场景,我必须在Extranet网络中使用openID连接。当应用程序初始化时,它会从.well-known / openid-configuration下载元数据文档,并为其发出HTTP Get请求。在没有互联网连接的外联网中,如何获得openid连接元数据文档? openID连接工作没有互联网连接?

谢谢!

openid openid-connect dotnetopenauth
2个回答
1
投票

您不需要Internet来使用OpenID Connect。当我使用术语互联网时,我指的是连接一般网站或万维网的网络。只有协议要求才能使用HTTP(和TLS)进行不同角色之间的通信(例如: - 客户端,授权服务器,资源服务器和最终用户)。

您可以在Intranet中使用OpenID Connect。该网络可以与互联网分开。并且可以通过VPN连接多个内部网。拥有VPN会将您与Internet分开,但允许使用HTTP通信。

所以是的,可以在没有互联网的情况下使用OpenID Connect,但它需要如上所述的网络配置。


0
投票

如果客户端应用程序无法与外界通信(但想要登录应用程序的用户可以),那么您可以:

  • 硬编码应用程序中openid-configuration文档的配置值;
  • jwks_uri提到的加密密钥做同样的事情;
  • 使用response type(例如id_token),它不需要你从应用程序调用令牌端点;
  • (解密和)使用上述加密密钥验证您在应用程序中本地重定向用户的ID令牌。

如果OpenID提供程序经常或不定期地旋转加密密钥,您可能会遇到问题,因为您需要一个带外机制来保持更新。

© www.soinside.com 2019 - 2024. All rights reserved.