Ошибка AD FS 2.1, событие 323 / 364

Я работал над настройкой нового сервера (Windows Server 2012) для целей разработки. Цель - проверить вход в систему через AD FS для веб-приложения. Машина является контроллером домена, имеет собственные службы сертификации и AD FS.

В веб-приложении используется Owin, и я следовал этому руководству: https://developers.de/blogs/armin_kalajdzija/archive/2016/10/06/how-to-implement-web-sign-on-with-adfs-in-asp-net-mvc-using-owin.aspx

Меня перенаправляют на AD FS, когда я захожу на сайт, который я настроил, но после входа в систему я получаю сообщение об ошибке. В окне просмотра событий я получаю:

Первое событие 323

 The Federation Service could  not authorize token issuance for the caller '*domain\user*
' on behalf of the subject '*domain\user*
' to the relying party 'https://*domain*:44330/'. Please see event 501 with the same instance id for caller identity. Please see event 502 with the same instance id for OnBehalfOf identity, if any. 

Additional Data

Instance id: 28b6e92b-453e-4488-93d1-3671268ff24c 
Exception details: 
Microsoft.IdentityServer.Service.IssuancePipeline.OnBehalfOfAuthorizationException: MSIS5009: The impersonation authorization failed for caller identity System.Security.Claims.ClaimsIdentity and delegate System.Security.Claims.ClaimsIdentity for relying party trust https://*domain*:44330/.
   at System.IdentityModel.AsyncResult.End(IAsyncResult result)
   at System.ServiceModel.Security.WSTrustServiceContract.ProcessCoreAsyncResult.End(IAsyncResult ar)
   at System.ServiceModel.Security.WSTrustServiceContract.EndProcessCore(IAsyncResult ar, String requestAction, String responseAction, String trustNamespace) 

User Action 

Use the Windows PowerShell Get-ADFSClaimsProviderTrust or Get-ADFSRelyingPartyTrust cmdlet to ensure the caller is authorized on behalf of the subject to the relying party.

Затем около 501 и 502 с информацией о пользователе / ​​претензии. А потом 364

 Encountered error during federation passive request. 

 Additional Data

Exception details: 
Microsoft.IdentityServer.Web.RequestFailedException: MSIS7012: An error occurred while processing the request. Contact your administrator for details. ---> System.ServiceModel.FaultException: MSIS3126: Access denied.
   at Microsoft.IdentityServer.Protocols.WSTrust.WSTrustClient.Issue(RequestSecurityToken rst, WCFResponseData responseData)
   at Microsoft.IdentityServer.Web.FederationPassiveAuthentication.SubmitRequest(MSISRequestSecurityToken request)

--- End of inner exception stack trace ---

    at Microsoft.IdentityServer.Web.FederationPassiveAuthentication.SubmitRequest(MSISRequestSecurityToken request)
       at Microsoft.IdentityServer.Web.FederationPassiveAuthentication.RequestBearerToken(MSISSignInRequestMessage signInRequest, SecurityTokenElement onBehalfOf, SecurityToken primaryAuthToken, String desiredTokenType, Uri& replyTo)
       at Microsoft.IdentityServer.Web.FederationPassiveAuthentication.RequestBearerToken(MSISSignInRequestMessage signInRequest, SecurityTokenElement onBehalfOf, SecurityToken primaryAuthToken, String desiredTokenType, MSISSession& session)
       at Microsoft.IdentityServer.Web.FederationPassiveAuthentication.BuildSignInResponseCoreWithSerializedToken(String signOnToken, WSFederationMessage incomingMessage)
       at Microsoft.IdentityServer.Web.FederationPassiveAuthentication.BuildSignInResponseCoreWithSecurityToken(SecurityToken securityToken, WSFederationMessage incomingMessage)
       at Microsoft.IdentityServer.Web.FederationPassiveAuthentication.BuildSignInResponseForProtocolRequest(FederationPassiveContext federationPassiveContext, SecurityToken securityToken)
       at Microsoft.IdentityServer.Web.FederationPassiveAuthentication.BuildSignInResponse(SecurityToken securityToken)

    >System.ServiceModel.FaultException: MSIS3126: Access denied.
       at Microsoft.IdentityServer.Protocols.WSTrust.WSTrustClient.Issue(RequestSecurityToken rst, WCFResponseData responseData)
       at Microsoft.IdentityServer.Web.FederationPassiveAuthentication.SubmitRequest(MSISRequestSecurityToken request)

Теперь кое-что я попробовал:

Доверяющая сторона имеет "разрешить доступ всем пользователям" в качестве единственного правила авторизации выдачи. Я пробовал разные правила в соответствии с Правилами трансформации выдачи. В основном это разные атрибуты, которые я видел в событиях 501 и 502 как "Отправка атрибутов LDAP как утверждений". (Также возиться с некоторыми преобразованиями и проходить через правила)

Я попытался изменить алгоритм безопасного хэширования на проверяющей стороне между SHA-1 и SHA-256.

Я попытался изменить конечную точку WS-Federation на https: //domain/ adfs / ls /. (и пробовал разные конечные точки и идентификаторы с или без / в конце)

Я попытался изменить правила в Доверие провайдера утверждений (AD), а затем отменил их обратно, поскольку он не работал.

Я попытался установить для SigningCertificateRevocationCheck значение "none" через PowerShell.

Я удалил и восстановил доверие доверяющей стороны.

Ошибка, которую я получаю, всегда одна и та же. У кого-нибудь есть идея, что еще попробовать?

0 ответов

Другие вопросы по тегам