.net 为开发和测试环境设置ADFS重定向Uri
我有一个正在运行的ADFS服务器(3.0)和一个api,其中包含使用ADFS服务器提供的承载令牌进行身份验证的请求。作为ADFS授权请求的一部分,我必须指定重定向uri: 这对于生产环境很好,但是对于开发和测试环境,我不想通过adfs进行身份验证(如果我不需要的话) 有什么办法可以做到这一点吗?我不想为每个环境创建多个adfs客户端,只是为了拥有单独的重定向URI。对于本地的其他开发人员,他们可能在我可能正在使用但另一个开发人员正在使用的不同位置设置了网站,等等 在开发和测试环境中,是否有一种干净的方法可以忽略必须去ADFS获取承载令牌,或者在没有多个ADFS客户端的情况下使用单独的重定向URI.net 为开发和测试环境设置ADFS重定向Uri,.net,oauth-2.0,adfs,bearer-token,.net,Oauth 2.0,Adfs,Bearer Token,我有一个正在运行的ADFS服务器(3.0)和一个api,其中包含使用ADFS服务器提供的承载令牌进行身份验证的请求。作为ADFS授权请求的一部分,我必须指定重定向uri: 这对于生产环境很好,但是对于开发和测试环境,我不想通过adfs进行身份验证(如果我不需要的话) 有什么办法可以做到这一点吗?我不想为每个环境创建多个adfs客户端,只是为了拥有单独的重定向URI。对于本地的其他开发人员,他们可能在我可能正在使用但另一个开发人员正在使用的不同位置设置了网站,等等 在开发和测试环境中,是否有一种
谢谢以后的参考,我也遇到了类似的问题。我最后所做的就是,在web.config和web.config之间切换转换
<authentication mode="Windows" />
通过这一点,我能够在不同环境(测试/登台/产品)中的身份验证类型之间无缝切换 似乎如果我在IIS上启用了windows身份验证,那么它将对我对API的请求进行身份验证,然后我可以进行配置设置或类似设置,如果我在开发/测试中,我可以绕过ADF。然后在prod服务器上,我可以禁用windows身份验证,并确保请求由adfs进行身份验证。这对我来说是可行的,但如果能听到其他人对这个问题的解决方案,那就太好了
public void ConfigureAuth(IAppBuilder app)
{
if (AuthenticationMode == System.Web.Configuration.AuthenticationMode.Windows)
{
return;
}
//rest of your authentication logic
}
private static System.Web.Configuration.AuthenticationMode AuthenticationMode
{
get
{
// gets a config file from the root of the system
var configuration = WebConfigurationManager.OpenWebConfiguration("~");
// gets the web.config part related with authentication
var authenticationSection = (AuthenticationSection)configuration.GetSection("system.web/authentication");
return authenticationSection.Mode;
}
}