2016-12-19 7 views
1

Я попытался следующие ссылки для выхода из системы:ADFS 3,0 не пересылают на SignOut

https://adfs.example.com/adfs/ls/?wa=wsignout1.0&wreply=https://localhost:32971/ https://adfs.example.com/adfs/ls/?wa=wsignout1.0&wreply=http://localhost:32971/ https://adfs.example.com/adfs/ls/?wa=wsignoutcleanup1.0&wreply=https://localhost:32971/ https://adfs.example.com/adfs/ls/?wa=wsignoutcleanup1.0&wreply=http://localhost:32971/

Это приходит с сайта http://localhost:32971

На стороне ADFS у меня есть Пассивная конечная точка WS-федерации установлена ​​как https://localhost:32971/

Это также значение по умолчанию, так что я здесь отсутствует?

+0

Вы когда-нибудь решали это? – aglasser

+0

@aglasser nope, больше не получал. – RichardMc

+0

У меня была проблема поддержки Microsoft, открытая более двух месяцев, и они даже не могут сказать мне, как заставить ее работать. Это нелепо. –

ответ

0
  string absoluteUrl = HttpContext.Request.Url.AbsoluteUri; 
      string replyUrl = absoluteUrl.Substring(0, absoluteUrl.LastIndexOf("/") + 1); 
      var issuer = FederatedAuthentication.WSFederationAuthenticationModule.Issuer; 
      var signOutUrl = WSFederationAuthenticationModule.GetFederationPassiveSignOutUrl(issuer, null, null); 
      WSFederationAuthenticationModule.FederatedSignOut(new Uri(signOutUrl), new Uri(replyUrl)); 
      FederatedAuthentication.SessionAuthenticationModule.SignOut(); 
      Response.Redirect(Request.RawUrl); 

Попробуйте это. Может помочь.

+0

Почему «Как это?» Хороший ответ всегда будет объяснять, что было сделано и почему это было сделано таким образом, не только для OP, но и для будущих посетителей SO. Пожалуйста, добавьте некоторое описание, чтобы другие поняли. счастливое кодирование :) –