Как удаленные веб-сервисы могут быть использованы из клиентского сценария? [закрытый]

Вы должны удалить шаг # 4 оркестровки из маршрута пользователя, чтобы у нового пользователя не запрашивались какие-либо входные утверждения:

Примечание: После удаления оркестровки шаг № 4, вы должны перенумеровать последующие шаги оркестровки.

<OrchestrationStep Order="4" Type="ClaimsExchange">
  <Preconditions>
    <Precondition Type="ClaimsExist" ExecuteActionsIf="true">
      <Value>objectId</Value>
      <Action>SkipThisOrchestrationStep</Action>
    </Precondition>
  </Preconditions>
  <ClaimsExchanges>
    <ClaimsExchange Id="SelfAsserted-Social" TechnicalProfileReferenceId="SelfAsserted-Social" />
    </ClaimsExchanges>
</OrchestrationStep>

Вместо этого на шаге № 5 оркестровки будет создан объект user с утверждениями, полученными от внешнего поставщика удостоверений:

<OrchestrationStep Order="5" Type="ClaimsExchange">
  <Preconditions>
    <Precondition Type="ClaimsExist" ExecuteActionsIf="true">
      <Value>objectId</Value>
      <Action>SkipThisOrchestrationStep</Action>
    </Precondition>
  </Preconditions>
  <ClaimsExchanges>
    <ClaimsExchange Id="AADUserWrite" TechnicalProfileReferenceId="AAD-UserWriteUsingAlternativeSecurityId" />
  </ClaimsExchanges>
</OrchestrationStep>
6
задан leinaD_natipaC 12 November 2015 в 17:12
поделиться

2 ответа

В Вашем вопросе Ваш упомянутый <сценарий> прием. JSONP основан на этом. Это было официально предложено почти 3 года назад Bob Ippolito. Это не дает Вам право говорить с источником сценария — источник определяется Вашей веб-страницей, не тем, что еще это включает. Это работает только потому, что сервер переносит JSON в функцию обратного вызова, которая должна быть определена в Вашем коде и будет выполняться <сценарием> при загрузке. Самым известным примером JSONP были бы услуги Yahoo, включая Flickr.

Другая техника состоит в том, чтобы использовать window.name для передачи информации. Эта техника была детализирована Kris Zyp, четырехмесячным назад. Дополнительно его статья сравнивает транспорт window.name с JSONP. Я не знаю высокопоставленного поставщика услуг, который поддерживает этот новый транспорт. Очевидно, это будет изменяться со временем.

Конечно, я должен упомянуть предстоящую Microsoft XDomainRequest. Планируется быть поставленным с IE8 и никакими другими поставщиками, переданными для поддержки его, но это было представлено для включения в HTML 5. XDR является полезной частью функциональности, но я подозреваю, что это будет изменяться несколько раз прежде чем быть принятым.

Если Вы смотрели в ссылках, Вы, вероятно, знаете к настоящему времени, что все эти методы требуют определенного уровня сотрудничества со стороннего сервера. Вы не можете использовать случайные сервисы по желанию. Если действительно необходимо использовать несовместный сервис, единственное решение состоит в том, чтобы проксировать его через собственный сервер со всеми связанными проблемами: сомнительная законность, уменьшенная производительность, увеличенная нагрузка на Ваш сервер, сокращенное количество соединений между браузером пользователя и Вашим сервером, и так далее.

6
ответ дан 10 December 2019 в 02:55
поделиться

Взгляните на JSONP, который работает вокруг той же политики источника, использующей в значительной степени подход, который Вы описываете, просто удостоверьтесь, что Вы доверяете, где Вы получаете его от...

3
ответ дан 10 December 2019 в 02:55
поделиться
Другие вопросы по тегам:

Похожие вопросы: