Продолжая перепроектировать архитектуру веб-сервисов с использованием WCF, наша команда обсуждала, как мы хотим предоставить доступ к конечным точкам. Пример: у меня есть стандартная конечная точка, которую все пользователи могут использовать с правильным токеном, но у меня также есть некоторое количество конечных точек, которые вместо этого будут использовать безопасность сертификата. В конечном итоге все конечные точки будут использовать одну и ту же реализацию, так что на самом деле это просто разные способы входа в систему.
Конечные точки сертификатов должны будут указывать на определенный сертификат в магазине, поэтому они будут работать только для одного конкретного клиента. Мысль заключается в том, что наша стандартная служба может находиться на http://mysite.com/MyService.svc и конечные точки сертификата будут выглядеть примерно так: http://mysite.com/MyService.svc/Acme. Проблема здесь в том, что я фактически помещаю наш список клиентов в наш WSDL, что нежелательно.
Какая здесь лучшая практика? Есть ли способ направить несколько клиентов через одну конечную точку сертификата и получить сертификат на стороне кода (как мы узнаем, с каким клиентом мы имеем дело без конкретной конечной точки)? Как лучше всего скрыть этот список клиентов? Есть ли лучшее решение, которого я не вижу?