Azure活动目录回复URL未按预期工作
本文关键字:工作 URL 活动 回复 Azure | 更新日期: 2023-09-27 17:50:28
我在Azure Active Directory网站配置中指定了两个URL回复URL。当我运行本地代码时,一个重定向到我的本地主机环境,当我运行prod网站时,一个重定向到我的Azure托管网站。但是Azure Active directory似乎忽略了这个设置。它只使用其中一个URL,而不是同时使用两个URL。我看到了一个描述问题和可能解决方案的链接,但它对我不起作用。链接是:
http://samritchie.net/2013/07/17/azure-ad-single-sign-on-with-multiple-environments-reply-urls/
如何设置Azure Active Directory以重定向到适当的环境?
您没有提供有关实现的详细信息,但这是任何情况下的解决方案。
你可以使用WIF配置-这是完全配置在你的web。或者您可以使用OWIN,其中配置在Config.Auth.cs文件中。无论采用哪种方式,Azure AD的STS都将只使用默认的应答URI,而不管调用来自何处。你必须显式地设置ReplyUrl,以指示Azure AD将用户返回到注册的回复url之一。
<WIF解决方案/strong>
当你使用WIF时,你的web配置包含以下部分:
<system.identityModel.services>
<federationConfiguration>
<cookieHandler requireSsl="true" />
<wsFederation passiveRedirectEnabled="true"
issuer="https://login.windows.net/yourtenant.com/wsfed"
realm="https://yourtenant.com/WebSingleTenant"
requireHttps="true" />
</federationConfiguration>
</system.identityModel.services>
有点不完整!您可以将reply
添加到wsFederation
标记,以指示Azure AD使用新的回复URL:
<wsFederation passiveRedirectEnabled="true"
issuer="https://login.windows.net/yourtenant.com/wsfed"
realm="https://yourtenant.com/WebSingleTenant"
reply="http://any_registered_url/"
requireHttps="true" />
注意,这里你只能使用注册的回复url。
要修改回复属性,可以安全地使用web。配置转换,就像你为所有其他部署特定的应用程序设置和连接字符串所做的那样。
<OWIN解决方案/strong>
当您使用OWIN时,您将有Startup.Auth.cs
文件,或者您的身份验证配置将直接进入您的Startup.cs
文件。它看起来像这样:
public void ConfigureAuth(IAppBuilder app)
{
app.SetDefaultSignInAsAuthenticationType(CookieAuthenticationDefaults.
AuthenticationType);
app.UseCookieAuthentication(new CookieAuthenticationOptions());
app.UseOpenIdConnectAuthentication(
new OpenIdConnectAuthenticationOptions
{
ClientId = clientId,
Authority = authority,
PostLogoutRedirectUri = postLogoutRedirectUri
});
}
注意OpenIdConnect认证的配置设置。您可以添加一个RedirectUri
属性来指示将用户重定向到哪里:
app.UseOpenIdConnectAuthentication(
new OpenIdConnectAuthenticationOptions
{
ClientId = clientId,
Authority = authority,
PostLogoutRedirectUri = postLogoutRedirectUri,
RedirectUri = "any_registered_redirect_uri"
});
您可以将RedirectUri分配给Web中的设置。配置文件,您也可以使用Web处理。配置转换。
对于OWIN,我有以下配置解决方案
app.UseOpenIdConnectAuthentication(
new OpenIdConnectAuthenticationOptions
{
ClientId = clientId,
Authority = authority,
PostLogoutRedirectUri = postLogoutRedirectUri
#if !DEPLOY
,RedirectUri = "https://localhost:44369/"
#endif
});
所以它使用本地重定向时,我不构建部署。该项目被配置为为我正在构建的用于部署的版本声明DEPLOY。这样,它就会使用Azure中配置的默认重定向URL。
- 如何以编程方式从工作流中函数的 url 字段中获取字符串值
- Url 在 ping 时工作,但会导致 UriFormatException
- 批处理中的ODataUri返回404,而如果我转到提供的url,它就工作了.为什么?
- ajax的URL在asp.net中无法正常工作
- HttpWebRequest不工作,尽管纯web服务URL可以工作
- 为什么具有ASP.NET MVC5路由属性的友好url没有';我每次都不工作
- 如何使Asp.Net服务器端路由与无散列URL一起工作?例如Backbone/AngularJS
- 在jQuery中使用Load函数时,无法使Web服务url正常工作
- 在asp.net 4.0 web表单中的URL路由不工作
- 返回链接中不工作的URL
- c#获取URL查询字符串请求.QueryString不工作
- ADAL Azure Active Directory SignOut重定向URL不再工作
- Utf-8字符url在c# webrequest和浏览器中都不工作
- 从firefox 8中获取url不再工作
- 验证字符串是相对url不工作
- WebBrowser Url到字符串不工作
- 在开发中工作的URL不能在生产服务器上工作
- 使用c#.net检查URL是否工作
- Sharepoint工作流任务列表标题URL
- 当我在浏览器中输入url时,自托管WCF服务不工作