EG 3.1+
When AuthProxy is enabled, native login will always fail if your username begins with a number (even if you use your barcode to login), unless your username and barcode are the same.
AuthProxy always uses the username for login purposes -- if you provide a barcode, it will look up the associated username. But for native login it uses open-ils.auth.authenticate.init, which redundantly and incorrectly uses a hard-coded barcode pattern of '^\d' to check whether the identifier it is given is a username or a barcode (see bug 1827296). If your username happens to be the same as your barcode, this won't be a problem. But if your barcode is 123456 and your username is 2legit2quit, native login will always fail.
The easiest solution is for AuthProxy to abandon the old init+complete method and use open-ils.auth.login for native login instead. It will treat the username as a username instead of applying a bad barcode pattern, thus allowing patrons whose username begins with a number to login. Plus open-ils.auth.login is cleaner and probably more future-proof, so we should use it anyway. :)
Working branch user/jeffdavis/ lp1828456- authproxy- native- login-method makes AuthProxy use open-ils.auth.login for native login:
https:/ /git.evergreen- ils.org/ ?p=working/ Evergreen. git;a=commitdif f;h=727bccb9