Forum Discussion

VijayG_122615's avatar
Icon for Nimbostratus rankNimbostratus
Mar 12, 2013

how to insert Basic Authorization into http header while redirecting

Hi ,


i am trying to insert a common user id and pwd intp "Basic Authorization" of http header and redirect the same to new url. tired HTTP::header insert Authorization cmd but it isnt working as expected. plese help. Thanks.


4 Replies

  • can you post the irule? and what does "not working" mean indeed??

    trying to redirect to new SAP PI Adapter url with Authorization .



    when HTTP_REQUEST {



    Debug off (0) , On (1)


    set debug 1



    SAP PI 7.3 standard RNIF Adapter uri


    set pirnifuri "/MessagingSystem/receive/RNIFAdapter/RNIF"



    If Inbound host matches the b2b hosts then redirect


    if {[matchclass [http_host] equals pidxb2bhosts] and [HTTP::uri] equals "/RosettaNet" } {



    inbound host and uri



    if { $debug>=1 } {log local0. "PIDX:Inbound host and uri: [HTTP::host][HTTP::uri]"}



    dev Redirect



    if { [HTTP::host] starts_with "b2b0031" and [HTTP::uri] equals "/RosettaNet" } {



    HTTP::header insert Authorization "Basic WElfQVgwMDFEVjAwOmxpdmU0ZnJlZTE="



    set devsappihost [ class match -value dev equals sappihosts]



    if { $debug>=1 } {log local0. "Redirecting to dev SAP PI"}


    HTTP::redirect "http://$devsappihost$pirnifuri"









  • i understand HTTP::header insert will insert header to request toward pool member (server) but HTTP::redirect sends response back to client telling where the new location is. i mean they work in opposite direction.


  • Basic authentication is a base64-encoding of the username and password:


    demoAdmin:demoAdmin = ZGVtb0FkbWluOmRlbW9BZG1pbg==

    So to set this in a header, just do this:

    set basicdata [b64encode "demoAdmin:demoAdmin"]
    HTTP::header insert Authorization "Basic $basicdata"