Проблема аутентификации форм SSO. Не удалось дешифровать файл cookie проверки подлинности

Я пытаюсь разработать аутентификацию SSO между двумя веб-приложениями, приложениями A и приложением B. Приложение A - это приложение MVC 4, а приложение B - приложение MVC 3.

Что должно произойти:

  1. Когда пользователь пытается получить доступ к приложению B, он будет перенаправлен на страницу входа в приложение A
  2. После входа в приложение A он будет перенаправлен в приложение B

Что на самом деле происходит:

  1. Пользователь пытается получить доступ к приложению B, он перенаправляется в приложение A для входа в систему.
  2. Пользователь регистрируется в приложении A, он перенаправляется в приложение B
  3. Здесь что-то не так, потому что приложение B перенаправляет пользователя обратно в приложение A для входа, как будто он еще не вошел в систему

Я сделал эти шаги, чтобы понять, что не так:

  1. Confirmed that the authentication cookie is being passed to application B
  2. Confirmed that machine key validation and decryption key is the same for both applications in web.config
  3. Confirmed enableCrossAppRedirects is enabled in web.config
  4. I used the code in this forum post to find out if both applications are able to decrypt the authentication cookie: http://forums.asp.net/t/1762166.aspx/1
  5. The authentication cookie is successfully decrypted in application A but not in application B. Application B gives "Unable to validate data" exception during FormsAuthentication.Decrypt method

Can anyone help me with this? Why did the decryption failed even though they're using the same machine key? Can I even still rely on this authentication method? Because this article says that it's not reliable anymore. http://blog.appharbor.com/2012/02/22/asp-net-forms-authentication-considered-broken

Благодаря!

4
nl ja de
Как вы передаете файл cookie от A до B? Я предполагаю, что они находятся на разных доменах?
добавлено автор Paul Fleming, источник
Например: app.com/a/login и app.com/b/login ?
добавлено автор Paul Fleming, источник
Используйте одно и то же имя для обоих файлов cookie. <forms name = ". MYAPP" />
добавлено автор Adriano Silva, источник
нет, это в том же домене, но в разных веб-приложениях. cookie автоматически передается браузером в заголовке запроса.
добавлено автор Adelia Benalius, источник
no, domain.com/appA и domain.com/appB. Пользователь должен быть перенаправлен на domain.com/appA/Login, когда он пытается получить доступ к domain.com/appB
добавлено автор Adelia Benalius, источник

1 ответы

Uf .. наконец нашел проблему. Проблема заключалась в том, что приложение A предназначено для .NET Framework 4.5, а приложение B предназначено для .NET Framework 4.

I suspected this before but apparently changing the target framework in the Project Properties is not enough. You have to add this to application B web.config to make it works.

3
добавлено
DotNetRuChat
DotNetRuChat
2 992 участник(ов)

Чат русскоязычного .NET сообщества http://dotnet.ru/ Вам могут быть интересны: @dotnetchat, @cilchat, @fsharp_chat, @pro_net, @xamarin_russia, @microsoftstackjobs, @uwp_ru Флуд в @dotnettalks

Microsoft Stack Jobs
Microsoft Stack Jobs
1 788 участник(ов)

Work & freelance only Microsoft Stack. Feed https://t.me/Microsoftstackjobsfeed Чат про F#: @Fsharp_chat Чат про C#: @CSharpChat Чат про Xamarin: @xamarin_russia Чат общения:@dotnettalks

pro.net
pro.net
710 участник(ов)

Обсуждение .NET Framework и всего, что с ним связано. Правила: не флудить не по теме, уважать ваших коллег и никакой рекламы (объявления о вакансиях можно согласовать с @AlexFails). Флудилка: @dotnettalks Участник @proDOT

Microsoft Developer Community Chat
Microsoft Developer Community Chat
584 участник(ов)

Чат для разработчиков и системных администраторов Microsoft Developer Community. __________ Новостной канал: @msdevru __________ Баним за: оскорбления, мат, рекламу, флуд, флейм, спам, NSFW контент, а также большое количество оффтоп тем. @banofbot

.NET Talks: Force Push Masters
.NET Talks: Force Push Masters
490 участник(ов)

Свободный чат .NET разработчиков. Правила: t.me/dotnettalks/56823 Вам могут быть интересны: @dotnetruchat, @dotnetchat, @cilchat, @fsharp_chat, @pro_net, @dotnetgroup, @xamarin_russia, @microsoftstackjobs, @uwp_ru http://combot.org/chat/-1001128250813

.NET Chat Убежище
.NET Chat Убежище
246 участник(ов)

Чат .NET разработчиков под эгидой MSK/SPB .NET Community Group Вам могут быть интересны: @fsharp_chat, @dotnetruchat, @cilchat, @xamarin_russia, @microsoftstackjobs, @dotnetgroup Флуд в @dotnettalks

.NET CIL Chat
.NET CIL Chat
54 участник(ов)

.NET CIL (aka IL aka MSIL)