使用Azure Access Control命名空间向Azure AD用户验证sharepoint站点时出错

时间:2015-03-23 11:02:23

标签: azure sharepoint azure-active-directory azure-acs

我在Azure虚拟机上运行了一个Sharepoint站点。 现在,我想使用Azure AD用户验证我的sharepoint站点。

为此,我已经按照以下链接,但登录后收到错误。

Using Microsoft Azure Active Directory for SharePoint 2013 authentication

我已经在参考链接上实现了,但仍然面临错误。 当我从浏览器访问我的URL时,它将询问我您要通过哪个登录。

enter image description here

然后在选择ACS Provider时,它会将我重定向到office365登录。 提交我的凭据后,它会将我重定向到

https://testvm.cloudapp.net/_trust/

并得到错误。所以我检查了sharepoint日志,发现下面的错误。

找不到请求Uri urn:sharepoint:spvms。

的网站查询信息

SPAudienceValidator:Audience uri' urn:sharepoint:spvms对上下文无效。

获取异常错误消息Microsoft.IdentityModel.Tokens.FailedAuthenticationException:无法验证受众URI。

SPSaml11SecurityTokenHandler:针对请求的受众群体验证失败' https://testvm.cloudapp.net/_trust/'使用以下受众URI:' urn:sharepoint:spvms',。

访问/ _trust /时的应用程序错误,错误=无法验证受众URI  在Microsoft.SharePoint.IdentityModel.SPSaml11SecurityTokenHandler.ValidateConditions(SamlConditions condition,Boolean enforceAudienceRestriction)
 在Microsoft.IdentityModel.Tokens.Saml11.Saml11SecurityTokenHandler.ValidateToken(SecurityToken令牌)
 在Microsoft.IdentityModel.Tokens.SecurityTokenHandlerCollection.ValidateToken(SecurityToken令牌)
 at Microsoft.IdentityModel.Web.TokenReceiver.AuthenticateToken(SecurityToken token,Boolean ensureBearerToken,String endpointUri)
 at Microsoft.IdentityModel.Web.WSFederationAuthenticationModule.SignInWithResponseMessage(HttpRequest request)
 在Microsoft.IdentityModel.Web.WSFederationAuthenticationModule.OnAuthenticateRequest(Object sender,EventArgs args)
 在Microsoft.SharePoint.IdentityModel.SPFederationAuthenticationModule.OnAuthenticateRequest(Object sender,EventArgs eventArgs)
 在System.Web.HttpApplication.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
 在System.Web.HttpApplication.ExecuteStep(IExecutionStep step,Boolean& completedSynchronously)

2 个答案:

答案 0 :(得分:0)

听起来Azure AD的身份验证正在运行,并且重定向到SharePoint正常运行。使用Get-SPTrustedIdentityTokenIssuer并验证领域...看起来从Azure ACS发送的领域与您在PowerShell中使用的领域不匹配。

答案 1 :(得分:0)

我得到了一个有效的解决方案。问题是你不应该使用New-MsolServicePrincipal来连接Azure AD和ACS。

而是将ACS作为应用程序添加到Azure Id

enter image description here

然后查看其端点并复制链接FEDERATION METADATA DOCUMENT

enter image description here

在ACS中的身份提供者的URL字段中粘贴复制的链接

enter image description here

注意:如果您使用New-MsolServicePrincipal,则需要使用Remove-MsolServicePrincipal。否则,Azure不会让您使用相同的网址注册应用。