I’m talking about having the username and password encoded within the HTTP header (not within the URL.)
As you know, different properties can be set in the header of an HTTP request. One of the properties you can set is “Authorization”. You can set the value of that property to the word “Basic” followed by a space followed by the string username:password encoded in base 64. When you submit an HTTP request to the Integration Server with that property set, the Integration Server will use that username and password to authenticate the request.
I’m not sure if you’re a Java guy, but in Java, setting this property would look somewhat like this:
URL url = new URL( url );
HttpURLConnection c HttpURLConnection )url.openConnection();
connection.setRequestProperty( “Authorization”, "Basic " + Base64.encode( “user:password” ));
So, what I was saying is that, the system from which the users are submitting the requests could set this property behind the scenes. That way, the users would not have to worry about typing in a username and password. This should be avoided over an unencrypted connection though because the HTTP packets could potentially be sniffed and the username/password could be easily decoded.
NOTE 1: I have not personally used this in Production. I also looked for some webMethods documentation on it and I couldn’t find it, so I’m not sure if they would even recommend this practice. The better way to go for automating authentication is probably through certificates. Whatever you do, make sure you get webMethods’ blessings.
NOTE 2: From a webMethods IS standpoint, my role has mostly been that of a developer. I have had limited Admin experience. Hopefully, someone with a little more experience around security and authentication will chime in.
#webMethods#Integration-Server-and-ESB#Adapters-and-E-Standards