I can help clarify our intentions, as I am collaborating with @Root.
The purpose of this is not to offload authentication or login. We have a 3rd party server application that uses a MySQL database for authentication. We consider it a necessary feature to have our users sign up on our discourse community then be able to log in to the client using the same credentials. This way we can also ensure that the users are not signing up for additional accounts (we limit to 1).
We’re looking to have this completed at the same time as the user’s registration in discourse. Here’s how we’d like to get this to work:
discourse hashes user’s plaintext password and stores it normally
— IN ADDITION TO THAT we have some things we would like to do on our end.
$var1 (variable that we define)
$randomSalt (specific length)
$randomString (specific length)
$password (user’s plaintext password)
hash the following ($var1+$password+$randomSalt) using SHA 256
store the above temporarily, then once user activates
insert username, password(hashed), $randomString and $randomSalt (the one generated while hashing the user’s password) into the third party MySQL databse.
It has to be done this way as our application is hard coded to authenticate that way.
Could this be written in a plugin? How feasible is it for someone with somewhat basic knowledge of ruby to be able to do this? We’d also be willing provide compensation if someone could help us with this. Obviously, not a core feature for Discourse, but something custom for us.