Hi Tom,
I’ve just bought you a beer. Exactly the plugin I was looking for, thank you very much!
One question:
I would like to block users who have not yet confirmed their e-mail address. I have a column ‘email_verified_at’ in my external users database for this purpose. It contains either a date or nothing (NULL).
In the settings for ‘Exclude Users (BETA)’ I have entered ‘email_verified_at’ and left value empty. However, users with an unconfirmed account are still logged in.
Am I doing something wrong?
Thank you!
Sascha
It appears that the initial login attempt using an email from an external database account does not succeed. The login only works after using the username for the first time.
For example, I have an account in the external database with the following details:
I am unable to log in to WordPress using [email protected] as the username until I have successfully logged in once with johndoe.
]]>I am attempting to connect to a MSSQL database with this plug in but I keep getting this error:
“[24-Apr-2024 11:29:14 UTC] PHP Fatal error: Uncaught Error: Call to undefined function sqlsrv_connect() in C:\Sites\dotorg\wp-content\plugins\external-login\login\db.php:25
Stack trace: 0 C:\Sites\dotorg\wp-content\plugins\external-login\login\db.php(157): exlog_get_external_db_instance_and_fields() 1 C:\Sites\dotorg\wp-content\plugins\external-login\login\authenticate.php(11): exlog_auth_query() 2 C:\Sites\dotorg\wp-includes\class-wp-hook.php(324): exlog_auth() 3 C:\Sites\dotorg\wp-includes\plugin.php(205): WP_Hook->apply_filters() 4 C:\Sites\dotorg\wp-includes\pluggable.php(618): apply_filters() 5 C:\Sites\dotorg\wp-includes\user.php(106): wp_authenticate() 6 C:\Sites\dotorg\wp-login.php(1311): wp_signon() 7 {main} thrown in C:\Sites\dotorg\wp-content\plugins\external-login\login\db.php on line 25″
I am using the pdo_sqlsrv_83_nts_x64 extension because the sqlsrv_83_nts_x64 extension doesn’t seem to work. Could this be causing the issue?
Any help is appreciated.
]]>Hello, I would like to ask this question, all my tests are going fine, everything seems to be synchronized, but the password from site A does not match site B and vice versa. All databases are synchronized
]]>One of the listed Features is “Redirect the user after being successfully authenticated.” But I could find nothing about how to redirect users later in the same manual. Can you provide a simple example?
]]>I’ve created a problem for my client LIFT. I made them a Woocommerce store through which many users had registered themselves. I use External Login, using LIFT’s external database of people so LIFT admin can log in to the dashboard and current LIFT members can log in to enjoy cheaper prices at the store. I have discovered that members can not log in if they had happened to have already registered themselves with a different username (typically firstname.lastname format) using their same email address that is in our membership database! It fails silently but I figured out that the failure is because each user must have a unique email in WordPress. I just fixed this for existing users with this:
UPDATE wordpress.wp_users A
INNER JOIN lift.person B ON A.user_email = B.email
SET A.user_login = B.id
However, to make this problem really go away – it would be great if when External Login tries to update the wp database and can’t because the same email already exists – it would go ahead and update the record with the matching email address, changing the user_login to the id from the external database as required.
Is this an issue you’ve come across before? Would this be an easy change, feature, option?
]]>Good day ??
I’m attempting to use the External Login Plugin but experiencing problems.
I have created my own MySQL User table and successfully mapped over the fields required and tested it via the plugin. I manually inserted into my own MySQL User table a user account with a generated bcrypt hashing. I have also successfully logged into word press using this external user and password.
However, the plugin does not create a user record in the word press table “wordpress_auto_users”. Can you please help me understand why this is not working.
Thanks
Mark
]]>I noticed that WP is putting an “Edit your profile” link in the comments area once the user is logged in. It links to https://helipaddy.com/wp-admin/profile.php and doesn’t do anything fortunately. However, I would prefer to suppress this text and link given that they have external profiles.
]]>Getting an error 500 when trying to test connection. How best to troubleshoot this? Settings: PHP 8.0.29, WordPress 6.2.2
]]>Just wondering if anyone has been able to, or if there are plans to add support for custom fields?
Ideally I need to pass the primary key which is a user id from the external database, save it in the wordpress DB alongside the user, so I can align woocommerce purchases etc with my external database (non WordPress, custom PHP build)
I don’t really like the sound of using usernames as a DB lookup to update external DB records incase the username gets changed somehow by the plugin in some scenario?
Initially I thought this may be possible in the table mapping sections , but added AFC Custom Fields but nothing added.
Happy to donate for this feature to be added. Moving my site to subscription-only and I believe paypal doesnt work well with subscriptions so aligning woo with my custom build
]]>“PHP Fatal error: Uncaught Exception: External Login Error: No test results found.” and “EXLOG: No rows returned from test query., referer: https://localhost/test/wp-admin/options-general.php?page=external-login“
Error and Notice is showing in error log. Please help.
]]>hello,
login stopped working for some users, while others can log in succesfully.
Nothing has changed in WP and external DB, even WP version and some plugins are outdated, but all user could login until last week.
Connection is working and passwords are recognized (gives the error when it’s a fake password), but the login itself isn’t.
Hard part is that i didn’t develop the website, when i got here it was already installed and working for some years…
Any clues please?
]]>Hi!
First I would like to thank you for your plugin, it was the only thing that solved my problem. But..
My database uses passwords in uppercase, I would like to know how I can do it so that when the user goes to login, the password is encrypted in uppercase to compare it with the password in the database, I use MD5, I think it would be
something like upper(md5(str))
Hi Tom,
i’d very much like to use your plugin. Is it possible to use it with a given Oracle database? All the user accounts that need to login to my WP project are in that Oracle database, which is being maintained by some other Software out of the scope of this project.
I can query data from that Oracle database via PHP on the machine that will host the WP project, so i guess i could just write some script to match the salted WP password field entry with a password result that comes from the database. But i’d like your plugin to do the heavy lifting. Can it be customized to work with an Oracle database?
Thanks for your time,
Dom
Hello,
Can you please tell me if your plugin is compatible with WordPress version 6?
Thanks
Hi Tom,
Your plugin External Login looks really good and is the nearest thing I’ve found to what we would like to do. We are all volunteers here, a charity, no programmers, but a bit of knowledge. We have a WordPress site with a members-only section. Our membership database is stored in a cloud-based Beacon CRM, which has a REST API authorised by an API key. We would like for WordPress to query the Beacon database API as to whether a website login email address (not password, which are not stored on Beacon) is on the list of members or not, then to set the WordPress user account as member or non-member. Either done as each person logs in, or done say at the end of each month, updating WordPress user accounts from the external database. Do you think that is possible to do?
Hello, how can i change the password via wordpress using a custom hash. I have this on functions.php that handles my hash login:
function myExlogHashAuthenticator($password, $hashFromDatabase, $username, $externalUserData) {
$generatedHash = sha1(strtoupper($username.":".$password));
return $hashFromDatabase == $generatedHash;
}
add_filter('exlog_hook_filter_authenticate_hash', 'myExlogHashAuthenticator', 10, 4);
If i change the password on the wordpress the password on my users external database didnt change. Is there something i can do?
]]>Hi..! Great Plugin.!
In my case, I am trying integrate with Customers Portal in vTiger; the fact is I don′t need to create one vTiger user per each Customer I have.
In the scenario, the both fields needes(Customer User and Customer Password) -pls don′t confuse with “users” passwords- are both of them in different vTiger tables.
Username is in the table “vtiger_contactscf”
Password is in the table “vtiger_portalinfo”
Then, the plugin just allow mapping both fields(user and password) from the same table, which is not my case.
Is there some “trick” or suggestion in order my Extermal Login Plugin be able to read each data from your corresponding table?
PS: Rady to send you 6pack of the BEST beer in the World: PILSENER, the Ecuadorian one.! ??
Thanks in advance!
I am having an issue connecting with the External Login plugin. Here is the error in php_errors.log. The database name, host, and port are correct.
[25-May-2022 17:06:24 UTC] EXLOG:
[25-May-2022 17:06:24 UTC] array (
0 =>
array (
0 => '08001',
'SQLSTATE' => '08001',
1 => 53,
'code' => 53,
2 => '[Microsoft][ODBC Driver 17 for SQL Server]Named Pipes Provider: Could not open a connection to SQL Server [53]. ',
'message' => '[Microsoft][ODBC Driver 17 for SQL Server]Named Pipes Provider: Could not open a connection to SQL Server [53]. ',
),
1 =>
array (
0 => 'HYT00',
'SQLSTATE' => 'HYT00',
1 => 0,
'code' => 0,
2 => '[Microsoft][ODBC Driver 17 for SQL Server]Login timeout expired',
'message' => '[Microsoft][ODBC Driver 17 for SQL Server]Login timeout expired',
),
2 =>
array (
0 => '08001',
'SQLSTATE' => '08001',
1 => 53,
'code' => 53,
2 => '[Microsoft][ODBC Driver 17 for SQL Server]A network-related or instance-specific error has occurred while establishing a connection to SQL Server. Server is not found or not accessible. Check if instance name is correct and if SQL Server is configured to allow remote connections. For more information see SQL Server Books Online.',
'message' => '[Microsoft][ODBC Driver 17 for SQL Server]A network-related or instance-specific error has occurred while establishing a connection to SQL Server. Server is not found or not accessible. Check if instance name is correct and if SQL Server is configured to allow remote connections. For more information see SQL Server Books Online.',
),
)
I am able to connect with a test from php using the following (my real values replaced with XXXVALUE):
$serverName = “XXXSERVENAME, XXXPORT”;
$connectionInfo = array( “Database”=>”XXXDATABASE”, “UID”=>”XXXUSERNAME”, “PWD”=>”XXXPASSWORD”);
$conn = sqlsrv_connect( $serverName, $connectionInfo);
if( $conn ) {
echo “Connection established.<br />”;
}else{
echo “Connection could not be established.<br />”;
die( print_r( sqlsrv_errors(), true));
}`
`
Hello, I have error 500 this is the log
[11-May-2022 19:13:21 UTC] PHP Fatal error: Uncaught Exception: External Login Error: No test results found. in /home/u302214438/domains/easy-stream.co/public_html/wp-content/plugins/external-login/views/test_results.php:30
Stack trace:
#0 /home/u302214438/domains/easy-stream.co/public_html/wp-content/plugins/external-login/options/testing_ajax.php(9): include()
#1 /home/u302214438/domains/easy-stream.co/public_html/wp-includes/class-wp-hook.php(307): exlog_test_connection(”)
#2 /home/u302214438/domains/easy-stream.co/public_html/wp-includes/class-wp-hook.php(331): WP_Hook->apply_filters(”, Array)
#3 /home/u302214438/domains/easy-stream.co/public_html/wp-includes/plugin.php(474): WP_Hook->do_action(Array)
#4 /home/u302214438/domains/easy-stream.co/public_html/wp-admin/admin-ajax.php(187): do_action(‘wp_ajax_exlog_t…’)
#5 {main}
thrown in /home/u302214438/domains/easy-stream.co/public_html/wp-content/plugins/external-login/views/test_results.php on line 30
I’m getting this error when I’m trying to test the connection.
I’m trying to connect an ios app’s database to my website.
Error says: “`Error establishing a database connection
This either means that the username and password information in your wp-config.php file is incorrect or we can’t contact the database server at localhost:3306. This could mean your host’s database server is down.
Are you sure you have the correct username and password?
Are you sure you have typed the correct hostname?
Are you sure the database server is running?`”
I found an issue with this plugin with passwords containing single or double quotes or backslashes.
WordPress is using wp_slash() internally on passwords and External-Login does not use wp_unslash() before comparing or hashing passwords.
Simply adding:
$password = wp_unslash($password);
into function exlog_validate_password() in login/validate_password.php in front of the if() conditions should do just fine.
Otherwise great plugin!
]]>Is it possible to disable local login for all other roles except administrators.
Want to keep my admins locally defined and not dependant from other sites database. For all other users want to always check remote database.
I need to read data from an external PostgreSQL database, which does not contain any WordPress-specific content. I just need to read/insert/update data to/from the external database.
Can this be done with this plugin? I could not find anything about it, I guess many need it also…
]]>Hi there!
We have used your plugin for some time now and it’s great! Thank you! Recently we’ve noticed that when a user updates their password on our external site, the WP site using the plugin does not update or recognize the password change. The user is still able to login using the old PW on the WP site. Any ideas? We have always had “Disable Local Login” checked.
Thanks in advance for any help you can provide!
]]>I need help with this plugin, i need login with external database, but i only get Query failed. I dont know how to debug. I am testing with this public database https://rnacentral.org/help/public-database
]]>hello team external login
I am looking for a tool that would allow me to manage my users differently from the classic WordPress loggin.
I have to build an intranet for a big company (+1000 employees). there is often staff movement so I have to keep access only for current employees.
I manage to retrieve the list of employees thanks to an XML file updated daily.
would your plugin allow me to manage WordPress users through my XML file?
Thank you for your reply !
auto translate from Google fr-> en
]]>Hi.
I know my user has access to the database. I can also login to phpmyadmin with the credentials, still I’m getting this error.
We were able to connect to the database server (which means your username and password is okay) but not able to select the XX database.
Anyone know how to fix this?
]]>Hi, I have an application on one cpanel server, I want to use the user database and passwords on a wordpress install on another server.
COuld I use this?
Which apllication page do I show the user to login to first?
Like do I show the application login page and then I can redirect them to wordpress.
Im just wondering how it would work.
Cheers
I have entered the MySQL DB information but I`m getting an Error 500 when testing the connection. Trying a similar plugin “External Database Authentication Reloaded” with the same credentials it logs in successfully. Any advice to roubleshoot this?
James
]]>