Extranet网络中的openid connect身份验证协议

时间:2018-09-17 22:31:19

标签: openid openid-connect dotnetopenauth

我有一个方案,我必须在Extranet网络中使用openID连接。当应用程序初始化时,它将从.well-known / openid-configuration下载元数据文档,并为其发出HTTP Get请求。在没有Internet连接的Extranet网络中,如何获取openid connect元数据文档? openID可以在没有互联网连接的情况下工作吗?

谢谢!

2 个答案:

答案 0 :(得分:1)

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

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

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

答案 1 :(得分:0)

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

  • 对您应用中的openid-configuration文档中的配置值进行硬编码;
  • jwks_uri引用的加密密钥执行相同的操作;
  • 使用不需要您从应用程序调用令牌端点的response type(例如id_token
  • (解密并)使用上述密钥在应用中本地验证从用户重定向接收到的ID令牌。

如果OpenID提供者频繁或不定期地旋转加密密钥,则可能会遇到问题,因为您将需要一种带外机制来保持这些密钥的更新。