Почему глубокие ссылки не работают после аутентификации?

#sustainsys-saml2

#sustainsys-saml2

Вопрос:

После аутентификации пользователь всегда отправляется на корневой URL приложения, даже если он изначально запрашивал глубокую ссылку.

Я читал, что существует концепция RelayState , однако я не уверен, что это то, что мне нужно явно искать где-то как свойство, а затем перенаправлять, или что-то, что должно функционировать автоматически, если у меня все настроено правильно.

Я попытался привязать URL-адрес к URL-адресу входа, но это, похоже, не оказало никакого влияния. Это происходит только тогда, когда я вручную ввожу URL-адрес в браузере, поэтому я предполагаю, что это не «вход, инициированный SP»

Когда мне нужно пройти аутентификацию, я перенаправляю на глубокую ссылку вот так (жестко закодированную только при попытке отладки)

 string deepLink = "?returnUrl=http://localhost:35246"   app.Context.Request.FilePath;
string logInPage = "~/Saml2/SignIn"   deepLink;
HttpContext.Current.Response.Redirect(logInPage);
  

Вывод журнала показывает это .. должен ли SignInUrl показывать что-то другое?

 SUSTAINSYS [VERBOSE] Expanded Saml2Url
  AssertionConsumerServiceUrl: http://localhost:35245/Saml2/Acs
  SignInUrl: http://localhost:35245/Saml2/SignIn
  LogoutUrl: http://localhost:35245/Saml2/Logout
  ApplicationUrl: http://localhost:35245/
  

Какие-либо указания?

Ответ №1:

это должно быть

 ?ReturnUrl=
  

вместо

 ?returnUrl=