我正在使用IdentityServer4为我的新服务提供身份验证和令牌生成,并且我已经成功地完成了所有工作。我已将我的服务器配置为使用Azure AD作为oidc提供程序,该程序在我的登台环境中工作正常,因为Azure AD的IP地址是在防火墙中配置的。今天,IP地址似乎已更改,因为我的代码无法调用Azure AD来获取openid众所周知的配置(https://login.microsoftonline.com/[mytenantid]/.well-known/openid-configuration)。
我使用以下代码配置提供程序:
services.AddAuthentication()
.AddOpenIdConnect("oidc", "AzureAD", options =>
{
options.ClientId = Configuration["adclientid"];
options.ClientSecret = Configuration["adsecret"];
options.Authority = $"{Configuration["addomain"]}{Configuration["adtenantid"]}";
options.UseTokenLifetime = true;
options.CallbackPath = "/signin-oidc";
options.RequireHttpsMetadata = false;
})
.AddCookie();
我们公司确实有一个可用的代理服务器,它可以让我的代码拨打电话,而不会在IP地址发生变化时受到影响。如何修改我的代码以使其使用代理?
答案 0 :(得分:2)
尝试添加BackchannelHttpHandler:
.AddOpenIdConnect("aad", "Azure AD", options =>
{
options.BackchannelHttpHandler = new HttpClientHandler { Proxy = Proxy};
....