我正在使用apache httpd24从aws cognito提取标头并将其传递给JAVA应用程序。
AWS向我发送了以下标头:
用户名电子邮件名字的姓氏
我的目标应用程序具有以下属性:
用户名电子邮件姓氏
我需要发送带有MELLON_前缀(MELLON_username,MELLON_email)的用户名和电子邮件标题。这不需要mod_auth_mellon。当我尝试对此进行硬编码
Header add MELLON_username "someuser"
RequestHeader set MELLON_username "someuser"
Header add MELLON_email "someemail@test.com"
RequestHeader set MELLON_email "someemail@test.com"
它可以工作,但是当我尝试使用来自cognito的变量传递它时,这是行不通的。
例如:
Header add MELLON_username "expr=%{HTTP:X-Amzn-Oidc-Data}"
RequestHeader set MELLON_username "expr=%{HTTP:X-Amzn-Oidc-Data}"
RequestHeader edit MELLON_username "[^.]*." ""
RequestHeader set MELLON_username "expr=%{unbase64:%{HTTP:username}}"
RequestHeader edit MELLON_username "(.*?)(?:\"username\":\")(.*?)(?:\")(.*$)" $2
用户名与此无关。
我尝试使用mod_setenvif模块将其设置为env变量,就像其他一些建议的形式一样,但是还是没有运气。有没有人遇到过这样的事情?
谢谢。