2015-01-23 3 views
0

У нас есть сценарий, в котором у нас есть одно приложение, которое будет доступно из нашей организации, а также доступ из внешней организации. Мы будем размещать это веб-приложение в лазури. Я использую MVC 5 с промежуточным ПО Owin WSFederation. Я могу подключиться к моему локальному серверу ADFS и работает, как ожидалось.Azure ACS с сервером ADFS

  app.UseWsFederationAuthentication(
      new WsFederationAuthenticationOptions 
      { 
       Wtrealm = "https://localhost:44321/", 
       MetadataAddress = "https://sso2.xxxxx.com/FederationMetadata/2007-06/FederationMetadata.xml" 
      }); 

При использовании ACS в качестве основного STS и создали наш ADFS сервер как IDP, он перенаправляет на нужную страницу входа в ADFS, но как только я аутентифицировать я получаю эту ошибку

ID4037: ключ необходим для проверки подписи не могут быть решены из следующего идентификатора ключа безопасности 'SecurityKeyIdentifier ( IsReadOnly = False, Count = 1, пункт [0] = X509RawDataKeyIdentifierClause (RAWDATA = MIIC4DCCAc ...'. Убедитесь, что SecurityTokenResolver заполняется требуемым ключом.

  app.UseWsFederationAuthentication(
      new WsFederationAuthenticationOptions 
      { 
       Wtrealm = "https://localhost:44321/", 
       MetadataAddress = "https://xxxxxxxx.accesscontrol.windows.net/FederationMetadata/2007-06/FederationMetadata.xml" 
      }); 

Я чувствую, что это является проблемой, так как метаданные Федеративные содержит ключ для подписи и так Owin промежуточного слоя имеет только метаданные из ACS подписывающий не может быть определена.

Мысли?

ответ

0

Является ли область настроенной в ACS?

Если бы я реализовал это, то я бы, вероятно, использовал ADFS вместо ACS для моего Home Realm Discovery, потому что ACS на выходе.

Я бы настроил Azure как дополнительный поставщик претензий в ADFS и только мое приложение использовало ADFS.

Вы также получите немного больше контроля над тем, как выглядят страницы HRD.

+0

Realm сконфигурирован в ACS, я думаю, проблема в том, что когда маркер возвращается с одного из IDP, ключ маркера подписи был определен в метаданных xml. Приложение указывает на метаданные ACS метаданных, поэтому у него нет никакого знания фактического ключа подписи IDP. – TSJ

+0

Idp предоставит токен ACS, который будет потреблять ACS. Затем ACS выдаст новый токен, и этот токен будет подписан сертификатом ACS. При загрузке приложения OWIN должен сбрасывать метаданные из ACS и иметь всю необходимую информацию, включая ключ. Вы должны использовать что-то вроде HTTPFox, чтобы точно отслеживать, что делает ваш браузер. – Jamie

+0

IDP перенаправляет непосредственно приложение, а не обратно в ACS, я принял ваше предложение и просто использовал ADFS и настроил поставщик претензий, но, конечно, у меня такая же проблема с IDP, определенным в поставщике претензий. Кажется, мне не хватает шага, по которому поставщик требований отправляет токен обратно в ADFS для ADFS, чтобы перераспределять токен в приложение. – TSJ

Смежные вопросы