Allows users to create accounts for, and sign into Vanilla through external applications. Currently has a WordPress plugin in the package for seamless WordPress integration.
Check out this page on our wiki for instructions on how to use this plugin with your existing applications.
Other Requirements (if any):
WordPress 2.9, The latest code from GitHub, released Sept 17th 2009. Your WordPress installation & Vanilla installation must be on the same domain in order for this plugin to function properly.
Hamed Awesome!
I have to check this out!
Did anyone got this working? I tried on my local xampp with both fresh installations of wp2.9 and the latest vanilla2 without success. As soon as I enable Single Sign-on in vanilla, my vanilla forum seems to be inaccessible (white page, loading forever) and I can't log in to wordpress anymore (always get redirected to login-form after entering user & password).
Mark @flobster - try deleting your existing cookies for WordPress & Vanilla. Are your WordPress & Vanilla installations on the same domain?
nauthez Where can I download wordpress 2.9? The current stable version is 2.8.4 for me.
nauthez Also, I installed it using wordpress 2.8.3, and I get the following when I try to change the plugin settings in vanilla:
http://area51.bluehaze.org/forum/error.html
It's a static page.
@nauthez - you can get the latest development version here: http://wordpress.org/download/nightly/
@Mark - that's what I did: clear cookies and close the browser. Does it matter where vanilla is installed? Currently I have a folder 'wpdev' (so on my machine, wordpress is at 'http://localhost/wpdev'), and within a sub folder, vanilla2 is installed ('http://localhost/wpdev/vanilla').
Mark @flobster - Hmmm. Strange. I thought it might be cookie related, but it might also be related to the fsock call that Vanilla makes to your WordPress AuthenticateUrl.
Oh, and it should really work with WP 2.8.x also...
Mark It shouldn't matter where Vanilla is installed in relation to WP - it only matters that they're on the same domain (or related subdomains) like domain.com and forum.domain.com or wp.domain.com
Mark The fsock calls can be a pain. It's really what took the longest for me to get sorted out (about 4 hours). I'm concerned that different web servers respond differently to the request depending on the headers defined. If you want to see what I'm talking about, check out the fsock call here:
http://github.com/lussumo/Garden/blob/master/library/core/class.handshakeauthenticator.php#L119
You can see I've got some debugging code there to spit out the headers being sent and the response received...
Thanks @Mark, guess I'll have to give it a try 'in the wild'. When using the addon on localhost, there seems to be no proper defined domain. I realised the value 'Cookie Domain' in my vanilla config being blank, however inserting various values didn't make a difference.
yann Any chance of a port to Vanilla 1?
Mark Vanilla 1 was built with a different sso scheme in mind. I don't have time to try this kind of a port for Vanilla 1, but anyone is welcome to give it a shot...
Todd I got this to work fine on localhost with leaving the domain blank. I am pretty sure that if Vanilla is in a subfolder of Wordpress then they can share cookies just fine.
syndicman It works for me too on localhost.
Very nice module. I didn't know what CMS to choose for my new site but know vanilla/wordpress is a lot more appealing.
Keep up the good work !
Still no luck on that add-on. Maybe this special issue is Vista-related. I remember having heard of certain difficulties concerning fsock calls.
jonobr1 is there an example of this online somewhere?
Flam9 You can check mine out. Still working on the site so don't hate <3
http://xblreview.com <- blog
http://xblreview.com <- forum
This addon integrates the forum's login into the blog's login... so the blog's login is the only interface.
TerminalAddict halp :)
from conf/config.php
$Configuration['Garden']['Authenticator']['AuthenticateUrl'] = 'http://tivocentral.co.nz/wp-login.php';
$Configuration['Garden']['Authenticator']['SignInUrl'] = 'http://tivocentral.co.nz/wp-login.php';
$Configuration['Garden']['Authenticator']['SignOutUrl'] = 'http://tivocentral.co.nz/wp-login.php?action=logout&_wpnonce=b8247aca7e';
$Configuration['Garden']['Authenticator']['RegisterUrl'] = 'http://tivocentral.co.nz/wp-login.php?action=register';
http://tivocentral.co.nz/vanilla/
using WP 2.8.4 .... doesn't seem to work :(
TerminalAddict I've disabled single sign on in the mean time.
I've tried different combinations of URLs etc.
IS it that I am not using WP 2.9 perhaps?
TerminalAddict ok here's an update:
2 questions:
1.
I have it working :) yay! (the step about uploading stuff to wordpress isn't very clear)
once logged in the "edit my account" and "change my password" links are incorrect.
I've found this in the source:
applications/garden/controllers/profile.php: $SideMenu->AddLink('Options', 'Edit My Account', '/profile/edit', FALSE, array('class' => 'Popup'));
Is there a way to over write these without tampering with the source files?
2.
How do I "administer" the forum? I'm logged in as an admin in wordpress, but don't have access to the admin of vanilla.
and slightly relate, has anyone messed about with theme integration?
TerminalAddict I fixed the "administer" portion of my question by manual sql inserts on GDN_User and GDN_UserRole.
I copied the settings from the original admin user setup with vanilla.
TerminalAddict nevermind .. I figured out question 1 also.
The admin I set up for vanilla (TerminalAddict) and the admin I set up for wordpress (TerminalAddict) were clashing .. I renamed the one to "van-admin" . .and now everything works ...
Now to start fiddling around with the views, and the theme
Mark Hi Guys - Sorry I haven't had any time to help you out with this lately. I'm traveling all over for Vanilla at the moment. I'll be back in the office early next week and be able to devote some real time to helping with issues here.
Lincoln As I understand it, this lets you log into Vanilla from Wordpress? What about vice-versa? e.g. what if I have my members in Vanilla but want to authenticate them in Wordpress as well?
Mark @Lincoln - The onus would be on wordpress to make that integration happen as it would need to handle merging accounts and merged account management.
I'm getting "Object of class Gdn_Validation could not be converted to string".
Never mind about the last error. It seems that I was using the dev branch instead of the master branch.
My Vanilla install is on a server in a subdirectory under the WordPress one. I can't login. It just redirects me back to the WP login page like flobster.
Actually I realized that my problem is different. Sorry for quad-posting but the browser error is "Firefox has detected that the server is redirecting the request for this address in a way that will never complete." after I click the signin button on WordPress.
First things first, fantastic software, really digging the look and feel. I managed to get this addon working for logins, it checks the authentication url and logs in the correct user, but I modified the logout link to log the user out of my integrated system, and then when you navigate back to the forums, the user is still logged in. And furthermore, if you log into the integrated system as another user, and then navigate to Vanilla, you're still logged in as the previous user, even though the authentication url displays the new user's information. Any ideas? What am I doing wrong. Any help would be greatly appreciated.
Mark Hmmm. That's an interesting one. I remember having that same problem with wordpress (ie. not signing you out of Vanilla when you sign out of your app). I think I may have forgotten to document the step of destroying Vanilla's cookie when your session dies?
Mark Err - I mean, destroying Vanilla's cookie when you destroy yours, not when your session "dies".
Mark And furthermore, if you log into the integrated system as another user, and then navigate to Vanilla, you're still logged in as the previous user, even though the authentication url displays the new user's information.
Vanilla doesn't go back to the authenticate url after it's session is created - it just keeps assuming it is correct. It will start functioning properly once you get Vanilla's sessions killed when you log out of your system. Take a look at the wordpress plugin to see where we destroy vanilla's cookies through wordpress.
Mark, do you know why whenever I login to WordPress, it just creates the "Vanilla" cookie over and over again and the browser stops itself from redirecting many times?
I tried getting this to work with Wordpress 2.8.5. Everything seemed to go well, but when I tried to login it would just go back to the login page and never anywhere else (if I manually went to the forums, I was still not logged in, and can't get into the Wordpress control panel).
TerminalAddict, what did you do to get yours to work?
Hey, I'm missing something really basic. How do i install the plugin to Vanilla? I don't see anything in the GUI, uploading the wordpress-vanilla-sso directory to the /plugins dir yields no new plugins nor does uploading the vanilla-sso.php to the /plugins dir.
Help Help?
naymind ^ dumb
I'm also missing something really basic (or having a wierd issue). Do we upload the entire folder that we download for this plugin, into the vanilla extensions folder? or only a few of the internal files? I realize that the wordpress files that are within the inside folder go onto wordpress, but no matter which way I upload these files into my forum extensions folder, I cannot get it to show up in my list of extensions to activate.
any ideas?
I'm having the same problem as Mushu, samanime, and ThermalAddict.
I did the integration... everything went smooth... but when I try to log in through WP it sends be right back to the login screen like nothing happened.
Using: WP 2.9, Vanilla 2, and Chrome.
Mark @ashrad - it sounds like you're using Vanilla 1. This plugin is for Vanilla 2.
@Shady, @Mushu, @samanime, @TerminalAddict - Try deleting your cookies for that domain and trying again. If that doesn't work, then it would take more debugging to figure out what's going on. Is there anything unusual about your setups? Strange domains or subdomains?
@Mark - My setup has no strange domains or subdomains. I am using the Vanilla 2 from the master Github branch. My blog is in the root / folder, and the Vanilla forum is at /vanilla/. I've also tried deleting cookies for the domain and trying again, nothing works so far.
I'm trying to integrate Vanilla 2 with a Kohana application that already works via the Auth module. Note, the Kohana Auth module ecrypts all data in its cookies.
Is Garden actually looking for a specific session cookie name or for certain values in the session? If so, how does it know the name of the session cookie? Also, is there a simple way to test the information Garden is receiving the Authenticate Url? My Authenticate Url page is returning a page in text/plain.
I am going to try to integrate Vanilla with my home-made site, but, being a newby, I am confused by the instructions. This is my first confusion:
"You'll need to create a "user information" page in your application. This is a simple page that writes information about the currently authenticated user to the screen. The information should be in the following format:..."
Some of my questions: Is this its own html page or do I just stick the user information on any ol' file that the user calls? What name should it have so that it is user-specific? Is it sitting on the server or is it called by the user? How does this file relate to the instructions on cookies?
And I guess the most basic, is Vanilla does integrate to apps other than Wordpress, right? Sorry for the dumb questions.
Mike
Mark @mike901 - it should be a php page that looks at your application's session information to see who the user viewing the page is. It takes that information and spits it out in the format explained in the documentation. No html, no xml, just that information formatted as you see in the documentation.
Vanilla will look at that information and then manage it's own session information based on that. Yes, this method can work with any application - not just wordpress.
UniqueID=1
Name=Mark
Email=mark@emailaddress.com
TransientKey=02742kjd2820
DateOfBirth=1975-09-16
Gender=Male
Sorry, but that didn't help. Here's how I understand it. Please correct.
1. User logs into my application, entering username, password, hits submit.
2. I authenticate the user, and I create cookies as I normally do, making sure that I define them so that Vanilla can see them.
3. User navigates to a Vanilla page.
4. Upon this action, Vanilla looks for the existence of a cookie created by my application. (Since I create 3, how does it know which one?)
5. If it sees the cookie, then it calls the "authenticate URL" page which is a php page that looks like this:
UniqueID=1
Name=Mark
Email=mark@emailaddress.com
TransientKey=02742kjd2820
DateOfBirth=1975-09-16
Gender=Male
(Since it's a php page, I assume you need the tags, etc, even though you said there is no html.) But how does the php page know which user to display, since the request from Vanilla isn't passing any parameters? And what happens when several users are overwriting the same url page? How is this page unique for each user?
6. If Vanilla gets the authenticate url page with something in it, then it creates it's own cookies and all is good.
I know this is all wrong, but, as I said at the beginning, I am totally confused.
btw, when it it planned for 2.0 to be released?
Mark Here is how it works:
1. User logs into your application, your application does whatever magic it needs to do to manage sessions.
2. User navigates to a Vanilla page. Vanilla looks for a valid Vanilla session cookie.
3a. If it does find a valid vanilla session, it carries on normally (do not go to step 4).
3b. If it doesn't find a valid vanilla session, it looks to the "authentication url" for information about the user requesting the page. The authentication url is a page in your application that looks to your application's session and most likely your database to get information about who the user is. It takes that information and spits it out for Vanilla. There are no special tags (html or php) of any kind. Just the information as explained in the example (Go to step 4).
4. It takes the information from the authentication url, and looks for matching information in Vanilla. If it finds a matching user (related by the unique id that your page specifies), it creates a vanilla session for the user. If it doesn't find a matching user, it inserts a new user record based on that page's information, and creates a vanilla session for them.
We aren't setting a date for the release of v2.
byenbye Hi Mark, I found some error:
1. Can't chage password
When I login with wordpress account, it's works great, but I can't change my password at the garden/vanilla profile page, it says "Your old password was incorrect.".
so I try to use ' ***** ' as the old password (I found at the database) ,it works but it doesn't effect on the wordpress account, so it means useless.
2. No roles Integration
I login garden using my wordpress admin account, but it seems I'm not an administrator of garden/vanilla. And the worst thing is, because I can't using the vanilla login box, so I can not login the garden application as an administrator anymore.
3. Login window won't disappear
I have to close by click and refresh before I can login to the garden.
I'm using MAC+PHP5+Chrome, wish the report can help you improve this plugin.
Cloaky8x Ive been looking for a forum-like community discussion that integrates nicely with wordpress. I'm soo glad to see this plugin, It sure pwns other options like WP Forum...etc
Bac213 Oh, cool. That's a pretty sweet 'Addon'.
Addons are custom features that you can add to your Vanilla forum. Addons are created by our community of developers and people like you!
We review addons to make sure they are safe and don't cause bugs. An addon is considered to be "Vanilla Approved" once our review process is complete.