我为OWA(Outlook网络应用)创建了一个httpmodule,用于通过OTP(一次性密码)进行双因素身份验证。
在Application_BeginRequest方法中,上下文字段包含此context.Request.Form["password"]
我在此string.Empty
中用context.Request.Form["password"]
替换了OTP字符串。但仍然在OWA登录方法上它没有登录。
如果我不替换字符串并仅在密码字段中发送密码,则会完美登录。
我通过反射更新了context.Request.Form [“password”]字段。在Application_EndRequest中,密码字段已更新,因为我检查了httpmodule日志。
知道我怎么能做到这一点?
我真正需要的是此字段context.Request.Form["password"]
中的密码+ OTP ,然后调用OTP服务器进行验证并更新context.Request.Form["password"]
字段,其中只包含密码。这样如果OTP服务器响应有效用户它应该使用OWA登录。但在我的情况下,如果更新context.Request.Form["password"]
字段登录失败。