Неверный URI при использовании привязки перенаправления HTTP - PullRequest
0 голосов
/ 28 августа 2018

Мы используем HTTP-привязку перенаправления для обеспечения проверки подлинности SAML с использованием гема omniauth-saml. В целях тестирования мы настроили ADFS в экземпляре Windows и создали URL-адрес для страницы входа.

Мы можем войти в систему, используя некоторые учетные данные, напрямую нажав URL в браузере.

Но когда мы используем gem omniauth-saml для обеспечения HTTP-привязки перенаправления , тогда отображается ошибка «Недопустимый URI». Вот обратный след ошибки:

System.UriFormatException: Invalid URI: The format of the URI could not be determined.
   at System.Uri.CreateThis(String uri, Boolean dontEscape, UriKind uriKind)
   at Microsoft.IdentityServer.Web.Protocols.Saml.SamlSignInContext.ValidateCore()
   at Microsoft.IdentityServer.Web.Protocols.ProtocolContext.Validate()
   at Microsoft.IdentityServer.Web.Protocols.Saml.SamlProtocolHandler.GetRequiredPipelineBehaviors(ProtocolContext pContext)
   at Microsoft.IdentityServer.Web.PassiveProtocolListener.EvaluateHomeRealm(PassiveProtocolHandler protocolHandler, ProtocolContext protocolContext)
   at Microsoft.IdentityServer.Web.PassiveProtocolListener.OnGetContext(WrappedHttpListenerContext context)

Вот URL SAML:

https://ads.DOMAIN.com/adfs/ls/idpinitiatedSignOn.aspx?SAMLRequest=fZHBbsIwEER%2FJTefEjtpwMEiSFG5oFJVAsqhl8pxXLDi2KnXRnx%2BHVAleulxtDNPs7tL4IMeWRP82ezkd5DgkwZAOq%2BsebYGwiDdXrqLEvJ9t63R2fuRYSzFjNCuzDNzcrbPlMUhhgDzCMITEwuudctFj5J1hCrDJ%2BI9DxHAO8h6sPoiIRN2iPoLsAasulEZ5RX3sturk3kzGYfxipLNukafdJ7n7YyWKVks8rRsiUx5O6%2FSednmtGwFoQWNVoAgNwY8N75GBcmrlFRpUR0IZU8FK2YfKDnGtrdCRUZQch20ATb1rlFwhlkOCpjhgwTmBds3r1sWjYz%2FnuYxMv6fGZ31VliNVsvJzW7t3OrlvvzBBfBL%2FDi5q79PWf0

Вот конфигурация Omniauth SAML:

Rails.application.config.middleware.use OmniAuth::Builder do
  provider :saml,
    :assertion_consumer_service_url     => "https://www.google.com", # Tried some more callback URLs as well
    :issuer                             => "MyTrust",
    :idp_sso_target_url                 =>  "https://ads.DOMAIN.com/adfs/ls/idpinitiatedSignOn.aspx",
    :idp_cert                           => '-----BEGIN CERTIFICATE-----
MIIDBzCCAe+gAwIBAgIJAIuOuO5YI79hMA0GCSqGSIb3DQEBBQUAMBoxGDAWBgNV
BAMMD2Fkcy5rc29s.........
-----END CERTIFICATE-----'
end

Также мы используем самоподписанный сертификат для ADFS . Но я не думаю, что это должно быть проблемой, поскольку в журналах не отображается ошибка, связанная с сертификатом.

1 Ответ

0 голосов
/ 28 августа 2018

Atlast, я могу решить проблему, обновив имя «Идентификатор проверяющей стороны», аналогичное «Отображаемому имени» доверия проверяющей стороны.

Вот ссылка для получения дополнительной информации: https://kb.informatica.com/ipssolution/1/Pages/1/513730.aspx

...