use lowercase username
update docs to use middleware