We have a requirement to set up a reverse proxy to our business partner. Basically they require all traffic to be sourced from a known IP address. In addition, traffic must be filtered such that only authenticated requests are passed on to them.
We will have a client application which uses forms authentication at source. At some point, an authenticated user will be redirected to the partner site and will be re-authenticated using a SSO token sent in an HTTP header. If the token is valid, the user will be logged in at the partner site and issued a session cookie. The session cookie will then be used to validate further requests from the source.
As I see it, in order for ARR to work it would need to do cookie domain re-writing on both the request and the response otherwise the cookie won’t be passed through correctly. It will also need to inspect outgoing requests to ensure they are authenticated before passing them on. To be secure this should be checking both the Forms Authentication cookie and the one returned from the partner site. Presumably it will not be sufficient to merely check for cookie presence as this could be spoofed. All this needs to operate using SSL as unsecured HTTP is not allowed by our partners. My question is, can ARR be configured to support such a scenario and if so, how?