kevent
Forum Replies Created
-
Forum: Plugins
In reply to: [External Login] HyperDB Compatibility QuestionI think for specific issues or implementation questions, I would add them to your GitHub project. General questions or speculations, I can send them here in the WordPress Support.
A few comments:
1. Can you add some of the issues such as the options_fields.php is no longer used and deactivation hook is not working into your GitHub issues tracking? If I start to tackle using and integrating the project, and we come across some things we can fix in the process of adding/refining features of the plugin I would be happy to take a crack at some of the fixes. But you know these issues best. The issue added doesn’t even need to be that detailed at first. But when fixing, more questions could be asked.
2. The way I would handle the different user tables and still maintain your current simple to use UI and wp-config setup is that if a user inputs a blank table name, then the user fields name could contain maybe a comma delimited pair of “table name, field name” as the mapping input. So, only advanced users need to know this a feature. Otherwise, the UI works the same as before. It wouldn’t handle the case of different databases, but that would be pretty good already.
3. As stated in my other post, I’d start first with a PDO based re-write of db.php. It would be nice to get your thoughts on how you were going to re-write it. Maybe I would try to do it for the project.
Forum: Plugins
In reply to: [External Login] HyperDB Compatibility QuestionI think your idea of pulling the user information from the external database into the WordPress db is an unique idea. So that other plugins won’t break. Very resourceful.
Reviewing some of the code, it does look like it requires all mapped user table fields to be present in the external database. If those fields are not present, then that would be a problem. Some non-essential data that might not be in the external database could have some default value inserted into the local WordPress DB as a solution.
There’s also a case where the different user fields might be in different external user tables and databases.
And also the case where the external database does not store the plaintext password or a password hash, but instead stores some type of password specific verifier (such as in SRP), I think I would need to add the verifier API into this array in Exlog_built_plugin_data.php:
array( "section_name" => "Password Hashing", "section_slug" => "password_hashing", "section_description" => "These settings specify how the password has been hashed in the external database.", "section_fields" => array( array( "field_name" => "Hash Type", "field_description" => " This is the hashing algorithm used. Hashing should ALWAYS be used in production. For help on knowing which algorithm was used when creating your external database password hashes check out the plugin <a target='_blank' href='https://ww.wp.xz.cn/plugins/external-login/#what%20hashes%20are%20available%20and%20which%20does%20my%20external%20database%20use%3F'>FAQ</a> section. ", "field_slug" => "external_login_option_hash_algorithm", "type" => "select", "select_options" => array( "bcrypt" => "bcrypt", "phpass" => "phpass", "phpcrypt" => "phpcrypt", "md2" => "md2", "md4" => "md4", "md5" => "md5",And then would I add the verifier API code into: validate_password.php ? Are there any other files I should worry about?
Also, do you feel I should bring up these questions in your Github issues rather than in this support forum?
Forum: Plugins
In reply to: [External Login] External Database Connection QuestionI would definitely make a pull request. I am not at the stage of adding this, yet. I’m doing some due diligence on the External Login plugin as a solution for me to offload the WordPress user tables to an external database.
Regarding using PDO (and some tidying) that’s a very good idea. I think that would be an important improvement prior to me adding the external DB cloud API’s. That code would look significantly different than the current db.php.
Do you have an idea of how you would approach the tidying up of the db.php and using PDO?