Используя OpenID с WCF и никаким браузером, действительно ли это возможно?

Имейте в виду, что PduR может иногда иметь несколько пунктов назначения, у нас есть такие ECU, которые являются маршрутизационными сообщениями, например. локально к Com и одновременно направьте их для передачи по другой сети.

PduR запускается RxIndications и TxConfirmations (и их аналогами Tp-интерфейса). Таким образом, для нормальных отношений маршрутизации вы должны подключить RxIndication для RxPdu, и можете, например, дождитесь TxConfirmation TxPdu, который сообщает, что TxPdu был передан.

Имейте в виду, что:

  • RxPdu может быть поставлен в очередь, что означает, что они, возможно, не будут передаваться напрямую. Это может быть удобно в случае потоковой передачи Pdus, такой как XCP, для сохранения порядка PDU, если они в настоящее время не могут быть переданы.
  • Пути маршрутизации могут быть включены / отключены во время выполнения, например, системные условия обрабатываются правилами BswM и списками действий, вызывающими PduR_[Enable|Disable]Routing(<routingpathgroupId>)
9
задан Chris Gillum 9 May 2009 в 15:52
поделиться

3 ответа

Хотя OpenID может рекламировать в своей спецификации независимость от файлов cookie и тому подобного, поскольку спецификация фактически не указывает, как эти вещи используются, на самом деле я никогда не видел хорошего решения OpenID для чего-либо, кроме вход на веб-сайт, что на самом деле является его основным вариантом использования.

Однако есть хороший способ пойти и по-прежнему использовать WCF и OpenID. Добавьте к этому протокол OAuth. В библиотеке DotNetOpenAuth есть образец, который показывает, как клиент WCF может получить авторизацию для вызова службы WCF через OAuth, где на стороне службы пользователь использует OpenID для входа в систему в рамках процесса авторизации.

Итак, если ваше приложение WCF должно «войти в систему», чтобы вызвать службу WCF, как часть разовой настройки:

  1. Приложение открывает браузер, в котором пользователь видит веб-сайт службы WCF (поставщик службы OAuth).
  2. Пользователь входит в систему со своим OpenID (хотя пользователь может уже войти в систему, и в этом случае он может пропустить этот шаг)
  3. SP OAuth спрашивает пользователя: «Вы хотите разрешить этому [приложению wcf] доступ к этому сайту?»
  4. Пользователь отвечает «да» и закрывает браузер.
  5. Приложение WCF теперь имеет доступ благодаря протоколу OAuth к службе WCF.

Это работает, потому что за кулисами, когда пользователь говорит "да" службе через веб-браузер, приложению WCF назначаются специальные удобные для машины учетные данные. , который он использует при каждом вызове службы WCF точно так же, как имя пользователя и пароль.

Ознакомьтесь с библиотекой DotNetOpenAuth. В нем есть образец и все необходимое для работы.

10
ответ дан 4 December 2019 в 19:36
поделиться

Прочитав OpenID Authentication 2.0 Specification , я, кажется, пришел к ответу:

Хотя ничто в протоколе не требует JavaScript или современных браузеров , схема аутентификации прекрасно сочетается с настройками в стиле "AJAX". Это означает, что конечный пользователь может подтвердить свою личность Проверяющей стороне, не покидая свою текущую веб-страницу.

Аутентификация OpenID использует только стандартные запросы и ответы HTTP (S), поэтому она не требует каких-либо специальных возможностей User-Agent или другого клиентского программного обеспечения . OpenID не привязан к использованию файлов cookie или любому другому конкретному механизму управления сеансом Проверяющей стороны или поставщика OpenID. Расширения для пользовательских агентов могут упростить взаимодействие с конечным пользователем, но не требуются для использования протокола.

1
ответ дан 4 December 2019 в 19:36
поделиться
Другие вопросы по тегам:

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