It is possible to have a wcf with basic authentication.
<!-- For use with Retail DMA --> <service behaviorConfiguration="BasicAuthServiceBehavior" name="RetailOrderInstructionService"> <endpoint address="" binding="webHttpBinding" contract="Kodi.Kodiak.Services.IRetailOrderInstructionService" behaviorConfiguration="rest" bindingConfiguration="WebHttpsMessageCredentialBinding"/> </service>
service.BehaviorConfiguration
serviceBehaviors
<behavior name="BasicAuthServiceBehavior"> <serviceMetadata httpGetEnabled="false" /> <serviceDebug includeExceptionDetailInFaults="true" /> <serviceCredentials> <userNameAuthentication userNamePasswordValidationMode="Custom" customUserNamePasswordValidatorType="Kodi.Kodiak.Security.BasicUsernamePasswordValidator, Kodi.Kodiak.Security" /> </serviceCredentials> <serviceThrottling maxConcurrentCalls="200" maxConcurrentSessions="200" maxConcurrentInstances="200" /> <dataContractSerializer maxItemsInObjectGraph="2147483646" /> </behavior>
endpoint.BindingConfiguration
needs to have a transport node with clientCredentialType = “Basic”
<binding name="WebHttpsMessageCredentialBinding"> <security mode="Transport"> <transport clientCredentialType="Basic" /> </security> </binding>