In ```HttpAuthenticator``` there is ```def params(ctx: RequestContext): Map[String, String]```, so ```RequestContext``` has to be passed, which gives access to the ```HttpRequest```. This will change the signature to ```def getChallengeHeaders(ctx: RequestContext): List[HttpHeader]``` or the signature of ```params``` has to be changed to work with a ```HttpRequest``` instead of ```RequestContext```. I don't think implementations of ```params``` would need access to the whole context, just the request part is enough.