External Accounts Extended

External Accounts Extended 2018-03-02

No permission to download
In my testing --

1) the account is already linked in xf_user_external_auth
2) the account is logged into linked in, but NOT XF
3) when i click the 'login with linked-in' button, that's when the 303 redirects start.

What is interesting is if I manually reload the page after it dies, I can see the user is logged in properly.

This error doesn't come up if they user isn't already logged into linked in -- If they aren't logged into linkedin and hit the button, then the proper screen in linkedin comes up asking them for their credentials, and when properly supplied, it will log the user in and redirect them to the home page.

weird, huh?
But that's what it does, even for the default providers in XF (I believe).
The idea is you can log into a forum account without using a forum password but simply a provider like Facebook or LinkedIn.
 
But that's what it does, even for the default providers in XF (I believe).
The idea is you can log into a forum account without using a forum password but simply a provider like Facebook or LinkedIn.

right, but it is causing a 303 redirect loop, only if the user is already logged into linkedin; is there something about the callback url that isn't getting passed correctly?
 
right, but it is causing a 303 redirect loop, only if the user is already logged into linkedin; is there something about the callback url that isn't getting passed correctly?
It isn't bias towards either. And maybe it's LinkedIn have you tested with other providers?
 
Oh I posted an update to fix the issue a few minutes ago D:
Yeah, but I had already removed it prior to that and then reinstalled it.. then I saw your update - but it hadn't come in via email yet.

And downloaded from the old link - go to install it on my test site and get this

Code:
ErrorException: Fatal Error: Call to undefined method ExternalExtended_Model_Provider::addProviderOrderOption() - library/ExternalExtended/Installer.php:122
Generated By: Tuxanator, A moment ago
Stack Trace
#0 [internal function]: XenForo_Application::handleFatalError()
#1 {main}
Request State
array(3) {
  ["url"] => string(58) "https://servinglinux.com/admin.php?add-ons/install-upgrade"
  ["_GET"] => array(1) {
    ["add-ons/install-upgrade"] => string(0) ""
  }
  ["_POST"] => array(4) {
    ["resource_url"] => string(0) ""
    ["server_file_oldskool"] => string(0) ""
    ["_xfConfirm"] => string(1) "1"
    ["_xfToken"] => string(8) "********"
  }
}
 
Yeah, but I had already removed it prior to that and then reinstalled it.. then I saw your update - but it hadn't come in via email yet.

And downloaded from the old link - go to install it on my test site and get this

Code:
ErrorException: Fatal Error: Call to undefined method ExternalExtended_Model_Provider::addProviderOrderOption() - library/ExternalExtended/Installer.php:122
Generated By: Tuxanator, A moment ago
Stack Trace
#0 [internal function]: XenForo_Application::handleFatalError()
#1 {main}
Request State
array(3) {
  ["url"] => string(58) "https://servinglinux.com/admin.php?add-ons/install-upgrade"
  ["_GET"] => array(1) {
    ["add-ons/install-upgrade"] => string(0) ""
  }
  ["_POST"] => array(4) {
    ["resource_url"] => string(0) ""
    ["server_file_oldskool"] => string(0) ""
    ["_xfConfirm"] => string(1) "1"
    ["_xfToken"] => string(8) "********"
  }
}
Fixed updating now.
 
<website>/register/linkedin

Yeah, that's what I got. It has the same problem with G+, so perhaps it is the way nginx is set up --
one thing i've noticed is that i've got full friendly URLs set up, but the add-on returns index.php?login -- think that might make a difference?
 
Yeah, that's what I got. It has the same problem with G+, so perhaps it is the way nginx is set up --
one thing i've noticed is that i've got full friendly URLs set up, but the add-on returns index.php?login -- think that might make a difference?
I'm running nginx on the one I use also... and mine work. In fact, I did linked in and the only problem I had was after telling to associate with existing account it told me that action was only available via POST, but I was still logged in.
 
I'm running nginx on the one I use also... and mine work. In fact, I did linked in and the only problem I had was after telling to associate with existing account it told me that action was only available via POST, but I was still logged in.

Thanks tracy -- would you mind sharing your nginx.conf, because at this point i'm out of ideas! it is driving me nuts!
 
Thanks tracy -- would you mind sharing your nginx.conf, because at this point i'm out of ideas! it is driving me nuts!
The config itself wouldn't do you that much good since there are other aspects involved (the www.conf, the nginx.conf, the vhost defintion, the php-fpm.conf).
 
The config itself wouldn't do you that much good since there are other aspects involved (the www.conf, the nginx.conf, the vhost defintion, the php-fpm.conf).

Now that I think about it, do you suppose that using memcached to cache sessions could be causing this behavior? Is that something you run on your nginx setup?
 
Now that I think about it, do you suppose that using memcached to cache sessions could be causing this behavior? Is that something you run on your nginx setup?
I run Memcached and Zend OpCache on all of the sites that I tried it on.
 
Unusual --

I can fix the error if i pop open a new window and manually put the linked-in button's url into it -- www.domain.com/register/linkedin?reg=1
that goes through without any infinite redirect loop.

I suspect it is because the new window doesn't have a referrer, where as the old window has a referrer "www.domain.com/index.php?login/
and it looks like it keeps trying to return me to that URL after it authenticates, causing the problem...

fixed it -- i'm an idiot. left off the trailing slash after login/

It seems to work OK now!
 
I think I found a legit bug --

1) try to log in using your regular credentials at domain.com/login/
2) if you enter an incorrect username or password, it'll send you to domain.com/login/login , let you know about your error, and give you another chance to enter your credentials or use silence's login methods. So far, so good.
3) if you choose one of silence's methods (in my case, linkedin), the user will get logged in successfully, but will also get an error page:

"
Error This action is available via POST only. Please press the back button and try again."

Clearly though the user doesn't need to, as they are logged in successfully... how to work around this?
 
Top Bottom