Admin Note: This post was split from the original post into a new thread.
trying to test and understand JLinked. I had it working, but now I'm getting a 500 error. Not sure if it's something I've done in playing with configurations or something else. I've definitely got the API configuration settings correct.
Could you help us understand the 500 error a little more? Usually, there's a message that goes with a 500 error that will help us narrow down the issue. Additionally, can you let us know when it happens? I'm assuming it's when you click the Login With LinkedIn button, but if it's through another action, let us know.
Finally, I just went to your site and couldn't find the Login with LinkedIn button. If you can enable it (even if it's on an obscure page) so we can test, that would be very helpful.
I'm trying the JLinked on "localhost" so that you can't access the site. I've set error reporting to max and have a second screen shot. It's only happening when I click on the login via LinkedIn button. The site seems to be functioning OK otherwise. Also, I completely deleted and re-installed the system on a new copy of my site just to make sure I hadn't screwed up something in the past. I have a few more "basic" questions I'll compose and post to this site a bit later.
You didn't post the screenshot. If you uploaded it, you have to click the little check-mark next to the file for it to be inserted into the post as well. If there's an error message or something else you're seeing with error reporting enabled, that should help us narrow down the issue pretty quickly.
Re-installing shouldn't fix it, usually never does.. but doesn't hurt to try since it's pretty easy to reinstall.
The best I can think of as far as an error that you'd get on localhost is that the cURL extension for PHP is not installed. If you go to Help -> System Information, and then PHP Information, you can check it's status. Do a search for "curl". You should find a section similar to the following:
cURL support enabled
cURL Information libcurl/7.21.6 OpenSSL/0.9.8b zlib/1.2.3 libidn/0.6.5
If not, then that is the issue. Curl is what lets JLinked communicate with LinkedIn to verify your account and get information about the user and is required for JLinked to operate properly.
Hope that helps,
Thanks for the pictures, those definitely help.
Do you only see the one with the actual error message when you have Error Reporting enabled? In the other cases, was it disabled? Either way, from that first error message, the problem isn't coming directly from our extension, it looks to instead be coming from Admin Tools. We use that on this site as well, so it should work, but depending on your version or other configuration settings, there could easily be an issue. I'd recommend contacting Akeeba as that error is usually very easy to fix by importing the right Joomla class before whatever code is trying to be executed. I don't have more information though, as that's not a part of our extension at all.
Hope that helps get you started. Akeeba support is excellent, so you can likely get an answer pretty quickly there. Of course, if you run into further issues, or can't get any answers, let us know.
I uninstalled the admin tools component, and now JLinked is working (I think). I need to play around with it, and also send Akeeba a note about the error message. I'll play with it some more, and then probably have a number of questions. I have one conceptual question below.
1. For a new user, the reg screen asks for Name, username, email and password. How does this information map to my linkedin ID. I entered a different email (not my linkedin email), and it registered me on the system. Can you require that a valid linkedin ID and password be used or will it register you anyway?
Glad to hear that disabling the AdminTools extension worked for you. If you run into issues when you try to re-enable it again, just let us know.
Regarding new user registration, LinkedIn has no way for us to fetch the user's email from their site. That's a privacy restriction we can't get around. However, for a user to create a new account on your site through JLinked/LinkedIn, they must have logged in through LinkedIn first and 'approved' your site for seeing their profile. Therefore, when a user logs in (or registers) using LinkedIn, you know the user is a valid LinkedIn user.
With that said, it is possible to hide the username and password fields from the registration form we provide and have them automatically generated, so that all the user needs to enter is their email address. The email address is required to create a Joomla account, but there is no way we can verify that the email address they enter is also their LinkedIn address. If you'd like to hide the username/password fields, just let us know. The option to hide those fields should be in the next big release of JLinked as well.
I'm now confused. Let's assume I'm a valid LinkedIn user but not registered at ExpertCEO. I go to the Jlinked button on ExpertCEO and click. It asks me Name, user name, email and password, and I register.
Does the above process just register me on ExpertCEO with no mapping to LI? Or am I also mapped to LI with profile info available on ExpertCEO?
I'm still a bit confused as to how JLinked was able to connect my ExpertCEO registration with my LI credentials? Do I have to log into LI and do something?
thanks in advance for the clarification.
No problem for the clarification... this stuff can get confusing, we know
Let's assume I'm a valid LinkedIn user but not registered at ExpertCEO. I go to the Jlinked button on ExpertCEO and click. It asks me Name, user name, email and password, and I register.
Once you do this, JLinked will create a Joomla user account and then 'map' that account to the current user's LinkedIn account. When the user comes back to the site later, they will be able to login using their Joomla username/password -OR- by clicking the "Login With LinkedIn" button. If they use LinkedIn, they may get a LinkedIn popup asking for their credentials, but there will be no other forms for the user to fill out.
When you initially click the "Login With LinkedIn" button and you get to the "Login / Register" page you mention above, if you already have a Joomla account, you can use the left had side of that page to login to that existing account. In that case, JLinked will simply map the LinkedIn user to that Joomla account (not creating a new one). Then, the user will be able to login using either account in the future.
Hope that all helps, but feel free to ask any other questions you may have!
I'm still trying to figure out how, when it creates the Joomla user account, it knows how to map to the LI account? Is the LI account somehow identified via a cookie or something. And what if the user isn't logged into his LI account when the Joomla user account is created?
When the user clicks the Login With LinkedIn button, the authentication popup from LinkedIn will show up (if it's their first time 'approving' your LinkedIn application). Once they approve, yes, a special cookie is placed on their system with an encrypted 'token'. JLinked is then notified that a user has authenticated and approved your application through LinkedIn. JLinked then exchanges that 'token' with LinkedIn to get a special LinkedIn user-id for the visitor. JLinked looks that user-id up in the JLinked Usermap table to see if it's already associated with a Joomla account. If so, JLinked logs that user in. If not, JLinked redirects the user to the Login / Register page.
At that point, the user is definitely authenticated with LinkedIn (we do multiple checks to make sure). From there, when the user uses either side of the Login or Register form, we then grab that LinkedIn user-id and associates it with the Joomla user that was just used to login (whether we created it or it was already existing).
When the user revisits the page later, if they are already logged into LinkedIn, the authentication popup will not appear. LinkedIn only needs the user approval for your application once, so you'll skip that screen.
Hope that explains the process. There's a lot more (believe it or not) going on under the scenes, but that's the quick overview