Uninett / mod_auth_mellon

An Apache module with a simple SAML 2.0 service provider
207 stars 182 forks source link

How to refer to MELLON_ vars in a expr ? #166

Closed fvant closed 6 years ago

fvant commented 6 years ago

I am setting up a proxy for and use Azure AD as the idp.

I have idp working and a get a whole list of MELLON_ vars that I can print in a proxied php page, so far so good.

But i need to set a custom Header when i proxy. Whenever i refer to the MELLON_ vars in expr= statement, they return empty string, where do i go wrong ? The idp returns like MELLON_http://schema_xmlsoap_org/ws/2005/05/identity/claims/name, could that be it ?

olavmrk commented 6 years ago

Hi,

I'm not certain what you refer to when you say expr= statement. This is how I have passed variables as headers when configuring a reverse proxy:

RequestHeader set Remote-User %{MELLON_eduPersonPrincipalNamE}e

If the special characters in the name are a problem, it should be possible to rename the variable using the MellonSetEnv option:

MellonSetEnv name http://schema_xmlsoap_org/ws/2005/05/identity/claims/name
fvant commented 6 years ago

Found the issue: even though the env var has a _ in stead of a special char, you should use the . in the variable name, like so:

RequestHeader set Remote-User %{MELLON_http://schema.xmlsoap.org/ws/2005/05/identity/claims/name}e

example php script shows the name like this:

MELLON_http://schemas_xmlsoap_org/ws/2005/05/identity/claims/name=xxxxx.com