Fork me on GitHub
Current release is 2.1.6 (21 Nov 2014).

Users who have not yet upgraded to 2.1 should get security release 2.0.18.14 (1 Nov 2014). We will stop providing these security releases to 2.0 at the end of this year.

[Solved] JSConnect and Wordpress integration

edited April 2012 in Vanilla 2.0 Help

I appear to have a problem, my site evulgaming.com is wordpress and running simple:press, however I am really not happy with it and think Vanilla is great.

I have JSConnect installed here and have the integration embed done fine. However I really seem to run into an issue with the SSO system, it wont allow me to login with my WP account, if I click login on the forum, it takes me to the WP login page I setup, I type my credentials in and then I am redirected back to the forum, not signed in.

Any help in the matter is much appreciated, if more info is required I would be happy to ablige.

Thanks in advance,

Sp4wn

Answers

  • ToddTodd Chief Product Officer Vanilla Staff

    A few things you can do to troubleshoot.

    1. Click the "test url" link in Vanilla's jsConnect config page. Try it both when you are and aren't signed in to your Wordpress site.

    2. Browse to /role/defaultroles in your site and make sure you have default roles set up. If users don't have a default role then when they won't have any permissions within Vanilla and won't appear to be signed in.

  • Cheers Todd.

    1. Logged out or in, the test URL sends me to the wordpress homepage. It uses the VFRequest URL to get there however.

    2. Are we talking default roles on the Vanilla side or Wordpress? I have default set to in wordpress and have email confirmation default role set to member in Vanilla, I have also selected "connect" in registration, new members are only registered via SSO plugin.

    I forgot to mention that I am also running buddypress and that the pre-defined page setup from the wordpress plugin that you paste into the JSConnect might not be entirely correct for Buddypress.

    I might look into changing the pages from the plugin manually as there is no way to edit them from wordpress.

    Any other info would be much appreciated, I really want to go with VF, but SSO is a must.

    Thanks again,

    Sp4wn

  • Embarrisingly it appears I have been using the wrong plugin on the Wordpress side, I have now installed the correct one and everything appears to be working correctly.

    Thanks for the troubleshooting Todd, you gave me the idea. Apologies for the inconvenience.

    Sp4wn

  • edited April 2012

    It appears I may have been to hasty with thinking I had this. The admin aacount will authenticate and let me sign in, however it is a matching account from wordpress and vanilla.

    It will not however let my members sign in or my test standard account, it just redirects me to the page not logged in. It is recognising that the user is logged into WP as when it asks you to sign in via the site, it has the username ready.

    I am completely stuck with this and really need help.

    Thanks in advance,

    Sp4wn

    Edit: I have also noticed in chrome the popup opens and automatically closes when trying to sign in the SSO.

  • WordPress database error: [Table 'redacted.wp_signups' doesn't exist] Select user_email from wp_signups where active=0 and registered < '2012-03-28 15:43:47'

  • God I feel like I am spamming this thing.

    I cant believe how simple it was.

    chrisyutz said: Wow. Nevermind. It was only an issue with permissions not being set to allow signin on the default new member role.

    vanillaforums.org/discussion/19481

    For future peoples reference.

    Marking this as solved.

    Much love,

    Sp4wn

  • @Sp4wn‌: I could really need your help. Where and how the permissions? I don't get it work for weeks. Please help!

  • nilsonjnilsonj New
    edited March 31

    I have the exact same problem, but I've already looked in Vanilla for default roles. They appear to be set correctly. This is a stock install from Dreamhost. I have PHP logging enabled in my PHP5.3 RC file and have enabled Debug mode for WordPress and Vanilla ... no errors to note. Nothing to go on. Here's my behavior:

    1. Ensure that no sessions are cookied with WordPress or Vanilla
    2. Go to the forum page directly (forum.mydomain.com) ... click on "Log in with XXXX"
    3. It redirects me to my main WP installation (www.mydomain.com) using the URL: http://www.mydomain.com/wp-login.php?redirect_to=http://forum.mydomain.com/entry/jsconnect?client_id=XXXXXX&Target=%2F
    4. Enter login/password for a registered WordPress account
    5. I get stuck at a "Connecting ..." page ... and it never redirects. The URL appears as: http://forum.nfphc.org/entry/jsconnect?client_id=XXXXXX&amp;Target=/

    OR ...

    1. Ensure that no sessions are cookied with WordPress or Vanilla
    2. Go to the embedded forum page within WordPress (www.mydomain.com/?page_id=6) ... click on "Log in with XXXX"
    3. I get a WordPress login page within the main IFRAME.
    4. Enter login/password for a registered WordPress account
    5. I am redirected to the main forum page (non-embedded), where the forum indicates that nobody is logged in. The final URL after redirects is: http://forum.mydomain.com/index.php?p=

    After either process, my user has a cookied session within WordPress, and going back to the main site will show that the user is indeed logged in. The credentials just never make it to Vanilla ....

    Any help?

  • @nilsonj said: snip 0. Ensure that no sessions are cookied with WordPress or Vanilla 1. Go to the forum page directly (forum.mydomain.com) ... click on "Log in with XXXX" 2. It redirects me to my main WP installation (www.mydomain.com) using the URL: http://www.mydomain.com/wp-login.php?redirect_to=http://forum.mydomain.com/entry/jsconnect?client_id=XXXXXX&Target=%2F 3. Enter login/password for a registered WordPress account 4. I get stuck at a "Connecting ..." page ... and it never redirects. The URL appears as: http://forum.nfphc.org/entry/jsconnect?client_id=XXXXXX&amp;Target=/ snip Any help?

    I have a similar issue. Signing in through wordpress signs me in to the forum, but from the forum the "Log in with ..." option does not seem to work at all.

    A separate issue I have is being able to link an existing account(prior to SSO being active), but I can ignore that.

  • OK ... @Lincoln‌ thanks for helping me out with this. My issue seems to have been resolved by upgrading to the 2.1 Garden beta with 1.4.1 jsconnect. I was previously on a stock-dropped 2.0.18 Garden and 1.0.3b jsconnect from DreamHost. So if you find yourself behind the times with your versioning, take heart and upgrade!

  • LincLinc Community Instigator Detroit Vanilla Staff

    @nilsonj Glad it's working!

    For the technical version: Using Vanilla 2.0.18 & jsConnect 1.0.3b there's two ?s in the jsConnect query string to WordPress which causes the client_id etc to get dropped. This is likely a bug in the URL builders somewhere. If you're having jsConnect problems, as he said, go to 2.1 (beta, presently) & 1.4.1.

    Sr Developer at Vanilla Forums, humble servant of Lord Brackos, & pro smatcher. [GitHub, Twitter]

  • edited April 4

    @Lincoln@nilsonj‌ I can't use jsConnect 1.4.1. I installed Vanilla 2.1 beta 3 and jsConnect 1.4.1. and if I try to add a connection it says: "Validation does not exist: regex.". It's the exact same error like in the version before. Help, please?

  • LincLinc Community Instigator Detroit Vanilla Staff
    edited April 4

    @holybrowncow In /library/core/class.validation.php on line 468

    Change this:

            $RuleName = 'regex';
    

    To this:

            $RuleName = 'validateregex';
    

    Sr Developer at Vanilla Forums, humble servant of Lord Brackos, & pro smatcher. [GitHub, Twitter]

  • Thanks for the answer. Unfortunately it says: "Validation does not exist: ‘validateregex’." now. Any idea?

  • edited April 4

    Now it says:

    Something has gone wrong.
    
    We've run into a problem and are unable to handle this request right now. 
    Please check back in a little while.
    

    OR Validation does not exist: ‘validateregex’ when i try to save. Sometimes on sometimes the other one appears.

  • LincLinc Community Instigator Detroit Vanilla Staff
    edited April 4

    Does the error message really have single quotes are validateregex like that? "Validation does not exist: ‘validateregex’." That would indicate maybe you didn't change the line exactly as I described and perhaps got some extra quotes in there.

    Did you run /utility/update after moving to 2.1b3?

    I would also try re-copying the files and confirming that /library/core/functions.validation.php exists and is current.

    Sr Developer at Vanilla Forums, humble servant of Lord Brackos, & pro smatcher. [GitHub, Twitter]

  • I ran /utility/update after moving to 2.1b3. I also re-copied the files and changed the file again. I attach a photo so you can see if I did anything wrong.

  • LincLinc Community Instigator Detroit Vanilla Staff

    Add this to your config.php:

    $Configuration['Debug'] = TRUE;

    That will reveal the actual error instead of "Something has gone wrong"

    Sr Developer at Vanilla Forums, humble servant of Lord Brackos, & pro smatcher. [GitHub, Twitter]

  • edited April 5

    That's the whole error message:

    Fatal Error in Gdn_Database.Query();

    Unknown column 'IsDefault' in 'field list' insert ignore GDN_UserAuthenticationProvider (Name, AuthenticationKey, URL, AssociationSecret, AuthenticateUrl, SignInUrl, RegisterUrl, SignOutUrl, IsDefault, AuthenticationSchemeAlias, AssociationHashMethod, Attributes) values (:Name, :AuthenticationKey, :URL, :AssociationSecret, :AuthenticateUrl, :SignInUrl, :RegisterUrl, :SignOutUrl, :IsDefault, :AuthenticationSchemeAlias, :AssociationHashMethod, :Attributes) The error occurred on or near: /www/htdocs/w010aa40/therandomslap/forum/library/database/class.database.php 290: 291: if (!is_object($PDOStatement)) { 292: trigger_error(ErrorMessage('PDO Statement failed to prepare', $this->ClassName, 'Query', $this->GetPDOErrorMessage($this->Connection()->errorInfo())), E_USER_ERROR); 293: } else if ($PDOStatement->execute($InputParameters) === FALSE) { 294: trigger_error(ErrorMessage($this->GetPDOErrorMessage($PDOStatement->errorInfo()), $this->ClassName, 'Query', $Sql), E_USER_ERROR); 295: } 296: } else { 297: $PDOStatement = $this->Connection()->query($Sql); 298: } Backtrace: /www/htdocs/w010aa40/therandomslap/forum/library/database/class.database.phpPHP::Gdn_ErrorHandler(); [/www/htdocs/w010aa40/therandomslap/forum/library/database/class.database.php:294] PHP::trigger_error(); [/www/htdocs/w010aa40/therandomslap/forum/library/database/class.sqldriver.php:1650] Gdn_Database->Query(); [/www/htdocs/w010aa40/therandomslap/forum/library/database/class.sqldriver.php:1114] Gdn_SQLDriver->Query(); [/www/htdocs/w010aa40/therandomslap/forum/plugins/jsconnect/class.jsconnect.plugin.php:491] Gdn_SQLDriver->Insert(); [/www/htdocs/w010aa40/therandomslap/forum/plugins/jsconnect/class.jsconnect.plugin.php:443] JsConnectPlugin->Settings_AddEdit(); [/www/htdocs/w010aa40/therandomslap/forum/plugins/jsconnect/class.jsconnect.plugin.php:443] JsConnectPlugin->SettingsController_JsConnect_Create(); [/www/htdocs/w010aa40/therandomslap/forum/library/core/class.dispatcher.php:337] PHP::call_user_func_array(); [/www/htdocs/w010aa40/therandomslap/forum/index.php:46] Gdn_Dispatcher->Dispatch(); Variables in local scope: [Sql] 'insert ignore GDN_UserAuthenticationProvider (Name, AuthenticationKey, URL, AssociationSecret, AuthenticateUrl, SignInUrl, RegisterUrl, SignOutUrl, IsDefault, AuthenticationSchemeAlias, AssociationHashMethod, Attributes) values (:Name, :AuthenticationKey, :URL, :AssociationSecret, :AuthenticateUrl, :SignInUrl, :RegisterUrl, :SignOutUrl, :IsDefault, :AuthenticationSchemeAlias, :AssociationHashMethod, :Attributes)' [InputParameters] array ( ':Name' => 'Subscriber', ':AuthenticationKey' => '388668754', ':URL' => NULL, ':AssociationSecret' => '139ac66ee130b8355d843497be7fbaf0', ':AuthenticateUrl' => 'http://www.therandomslap.com/?VFRequest=connect', ':SignInUrl' => '', ':RegisterUrl' => '', ':SignOutUrl' => '', ':IsDefault' => false, ':AuthenticationSchemeAlias' => 'jsconnect', ':AssociationHashMethod' => 'md5', ':Attributes' => 'a:3:{s:8:"HashType";s:3:"md5";s:8:"TestMode";b:0;s:7:"Trusted";b:0;}', ) [Options] array ( 'ReturnType' => 'ID', ) [ReturnType] 'ID' [PDOStatement] array ( 'queryString' => 'insert ignore GDN_UserAuthenticationProvider (Name, AuthenticationKey, URL, AssociationSecret, AuthenticateUrl, SignInUrl, RegisterUrl, SignOutUrl, IsDefault, AuthenticationSchemeAlias, AssociationHashMethod, Attributes) values (:Name, :AuthenticationKey, :URL, :AssociationSecret, :AuthenticateUrl, :SignInUrl, :RegisterUrl, :SignOutUrl, :IsDefault, :AuthenticationSchemeAlias, :AssociationHashMethod, :Attributes)', )

    Need Help? If you are a user of this website, you can report this message to a website administrator. If you are an administrator of this website, you can get help at the Vanilla Community Forums. Additional information for support personnel: Application: Vanilla Application Version: 2.1b3 PHP Version: 5.4.26-nmm1 Operating System: Linux Server Software: Apache Referer: http://www.therandomslap.com/forum/settings/jsconnect/addedit User Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_2) AppleWebKit/537.74.9 (KHTML, like Gecko) Version/7.0.2 Safari/537.74.9 Request Uri: /forum/settings/jsconnect/addedit Controller: Gdn_Database Method: Query

    Apart from that it also shows me this on every page:

    Debug Trace

    Info Need to re-index theme cache Info Need to re-index plugin cache Warning Master views differ. Controller: /www/htdocs/w010aa40/therandomslap/forum/applications/dashboard/views/default.master.php, ViewLocation(): /www/htdocs/w010aa40/therandomslap/forum/applications/dashboard/views/default.master.tpl <

  • So, there's no solution? I guess that means I have to go for bbPress.

  • peregrineperegrine ☯ hasta luego :) In-Flight MVP
    edited April 6

    @holybrowncow said: So, there's no solution? I guess that means I have to go for bbPress.

    there seems to be a solution in 2.0.18.10 and you could probably apply the similar steps for solution to 2.1b3.

    or maybe....

    @holybrowncow

    I did a search on the forum for IsDefault.

    since that was the word that popped up in your error message.

    did you try altering your table to add the field as this person did?

    http://vanillaforums.org/discussion/comment/203918#Comment_203918

    and this may give you insights, however, just by adding the column might remove your error

    Unknown column 'IsDefault' in 'field list' insert ignore GDN_UserAuthenticationProvider

    http://vanillaforums.org/discussion/26436/implementing-sso-using-jsconnect-1-4-1-with-vanilla-2-0-18-10-part-i

    Monetary Donations will be appreciated if you use my plugins. Thanks in Advance.
    As a waiter gets a tip for a good meal, tips for successful solutions appreciated as well. Peregrine

  • peregrineperegrine ☯ hasta luego :) In-Flight MVP
    edited April 6

    @holybrowncow

    try running /utility/structure as well.

    the other problem is, you posted your question as a me too on an already solved question. not the best way to get help

    Monetary Donations will be appreciated if you use my plugins. Thanks in Advance.
    As a waiter gets a tip for a good meal, tips for successful solutions appreciated as well. Peregrine

Sign In or Register to comment.