Ha!
Moments after sending, I tried one more thing:
HeaderNames_at{1}:="Authorization"
HeaderValues_at{1}:="Basic TGFuZ2xvOlBhc3R1cml6ZWQ="That worked! So I guess my question is much simpler. How would I manually base64 encode the needed string? Many thanks! On Wed, Jul 17, 2019 at 11:16 AM Noah <[email protected]> wrote: > We have used Basic Auth in other parts of our infrastructure with Great > success, but have not had the need to pass authentication from 4D, until > now. > We are trying to replace a SOAP service with a REST based 'pass through' > service. > > Using HTTPS to protect a basic auth header meets the minimum requirements > for security. > > https://developer.mozilla.org/en-US/docs/Web/HTTP/Authentication#Basic_authentication_scheme > > I have built a prototype web service to handle these requests, and can > interact with it via "postman" > > Here is some generated code from the postman app: > wget --quiet \ --method GET \ --header 'authorization: Basic > TGFuZ2xvOlBhc3R1cml6ZWQ=' \ --output-document \ - > https://prototype.url.com/ppp/201905 > > Trying to build this out in 4D, I have the following: > > C_TEXT(URLText_t) > C_TEXT(Text_t) > URLText_t:="https://prototype.url.com/ppp/201905" > ARRAY TEXT(HeaderNames_at;2) > ARRAY TEXT(HeaderValues_at;2) > HeaderNames_at{1}:="Username" > HeaderNames_at{2}:="Password" > HeaderValues_at{1}:="Langlo" > HeaderValues_at{2}:="Pasturized" > $httpResponse:=HTTP Get(URLText_t;Text_t;HeaderNames_at;HeaderValues_at) > > However, 4D is not generating the correct (base64 encoded) header as it > initiates the HTTP Get. > > > In other languages (like Javascript) you can generate a base64 encoded > string like this: > > var user = 'user';var password = 'password';var base64encodedData = new > Buffer(user + ':' + password).toString('base64'); > > I have looked at the base64-encode method for 4D, but am not sure how I > could accomplish the same thing. > https://doc.4d.com/4Dv16/4D/16.5/BASE64-ENCODE.301-4227612.en.html > > Has anyone else already been down this road? > Any suggestions on passing HTTP auth out of 4D to an external service? > > Many thanks, > Noah > ********************************************************************** 4D Internet Users Group (4D iNUG) Archive: http://lists.4d.com/archives.html Options: https://lists.4d.com/mailman/options/4d_tech Unsub: mailto:[email protected] **********************************************************************

