1

根据本教程http://msdn.microsoft.com/en-us/library/windowsazure/dn151790.aspx,我们已成功设置 Windows Azure AD 租户并在我们的 ASP.NET 应用程序中实现 Web 单点登录

我们正在使用组织身份进行身份验证,但如果用户已经使用不同的 Microsoft 帐户 (Windows Live ID) 登录到另一个网站,我们会收到一条对用户非常不友好的错误消息。- “ACS20016:登录用户的域与此 STS 的任何允许域都不匹配。”

有什么方法可以提供对用户更友好的错误消息?如果在登录过程中发生错误,是否有类似 ACS 中的错误 URL 将用户重定向到自定义错误页面?

4

1 回答 1

0

完全有可能。

ACS 以这样的编码 JSON 格式为您提供错误消息

{"context":null,"httpReturnCode":401,"identityProvider":"Google","timeStamp":"2010-12-17 21:01:36Z","traceId":"16bba464-03b9-48c6-a248-9d16747b1515","errors":[{"errorCode":"ACS30000","errorMessage":"There was an error processing an OpenID sign-in response."},{"errorCode":"ACS50019","errorMessage":"Sign-in was canceled by the user."}]}
  1. 首先,您需要在管理门户中为您的 ACS 命名空间-> 编辑依赖方-> 错误 URL 启用“错误 URL 功能”。
  2. 您需要一个帮助类来解码 JSON。这里的步骤
  3. 配置对它们的匿名访问错误页面。

有了这个,您可以完全控制页面,您可以按照希望的方式显示错误消息,并为页面添加品牌以匹配您的依赖方 Web 的外观和感觉。

于 2013-07-17T05:54:23.237 回答