Well it’s pretty straight forward. The systems should allow SMF users to login via the WebLogin system.
The SMF plugin listens to the OnWebAuthenticateevent then tries to authenticate the user using SMF’s login system if successfull then it means that the user was imported from SMF other wise it passes control to the event listener.
The SMF Module is responsible for exporting and importing MODxand SMF users respectively.
One problem is that MODx user system does not support a salt feild. This will change in the future but for now a work around is needed. The next problem is that when an imported user tries to login via MODx the authentification fails because of the missing salt into.
IMO I think we can overcome this by appending the salf to the user’s password as follows:
SMF:{hasedpassword}:{salt}
Where {hasehpassword} and {salt} is from the smf database. The plugin could then do a check for SMF on the password if found then it applies SMF hashing if not it needs to fake the SMF login process.
The problem here is that SMF does not allow you to redistibute their code so you would have to write it all over from scratch.
What we need is a function that will setup and SMF authentification process without requiring a user password. This means that we can pass only the user name from MODx to this function to and have it setup a user session as if the user has logged using a password.
Sure hope this makes sense.