The Auth stores in Catalyst do an excellent job of abstracting the authorization of users. The ability for stores to declare and support things like hashed passwords, picking the alg, adding pre/port salt make it a dream: to authenticate users.
Now, when starting a project, I still have to make magic, the same kind of magic, to create new users in the store along with picking the same hash alg, the same pre/post salt options, etc. That seems like an accident waiting to happen.
IMHO, the Auth::Store needs a create_user method, so the same password options used to auth users can also be used to create users/passwords in the store.
Does not really fit into all backends well -- one of the things that make the auth modules "a dream" to use is the way all of the backends have one solid API to access them. Start pushing changes in the API that are only supported on a few of the back ends and you lose the magic.
Comments
Now, when starting a project, I still have to make magic, the same kind of magic, to create new users in the store along with picking the same hash alg, the same pre/post salt options, etc. That seems like an accident waiting to happen.
IMHO, the Auth::Store needs a create_user method, so the same password options used to auth users can also be used to create users/passwords in the store.
Maybe I'm way off base. :-)