when throwing 401 error because of missing authorization, want include www-authenticate header.
but how do that?
i tried response filter, didn't seem work.
edit
my response filter ain't called when httperror thrown:
apphost.responsefilters.add((req, res, obj) => res.addheader(httpheaders.wwwauthenticate, "basic realm=...")); exception handlers called added header not part of response (according both chrome dev tools , postman)
apphost.exceptionhandler += (req, res, name, exception) => res.addheader(httpheaders.wwwauthenticate, "basic realm=...");
i can't find hooks can add response headers:
responsefiltersain't called after exception thrown.serviceexceptionhandlerdoesn't provide response object.exceptionhandlercalled after response sent, it's late.
since check credentials in request filter, have access response object there. ended custom exception logonexception can trap , add header:
apphost.requestfilters.add( (req, res, obj) => { var creds = request.getbasicauthuserandpassword(); try { myservice.logon(creds); } catch(logonexception) { res.addheader(httpheaders.wwwauthenticate, "basic realm=..."); trow; } });
Comments
Post a Comment