Skip to main content

This site requires you to update your browser. Your browsing experience maybe affected by not having the most up to date version.

We've moved the forum!

Please use forum.silverstripe.org for any new questions (announcement).
The forum archive will stick around, but will be read only.

You can also use our Slack channel or StackOverflow to ask for help.
Check out our community overview for more options to contribute.

All other Modules /

Discuss all other Modules here.

Moderators: martimiz, Sean, Ed, biapar, Willr, Ingo, swaiba

OpenID module fails.


Go to End


5 Posts   2096 Views

Avatar
feef

Community Member, 19 Posts

9 July 2010 at 5:30am

On trying to install the OpenID authentication module, it fails on the dev/build, and then refreshes the page to the login screen, with the following error at the top of the page:

Notice: DataObjectDecorator::extraDBFields() is deprecated. Please use extraStatics() instead. in /system/home/[domain]/www/[domain]/sapphire/core/model/DataObjectDecorator.php on line 60

Firstly, the line reported in the error is simply a check to see if that class is used, so it's less than obvious where it's being used..

Secondly, I dislike how the error spits the full local path to the file in the webroot.

I'd REALLY like openID integration, has anyone else had this issue?

I have only the dataobjectmanager and openID auth modules installed, on SS2.4

tia

a

Avatar
feef

Community Member, 19 Posts

9 July 2010 at 5:37am

Scratch that.. I changed the extraDBFields in code/OpenIDAuthenticatedRole.php so that it used extraStatics instead, and it "seems" to be working.
Watch this space, and I'll confirm after some testing

Avatar
feef

Community Member, 19 Posts

9 July 2010 at 6:49am

Edited: 09/07/2010 6:49am

Okay, installs fine.. Registering with the forum using OpenID takes me to the openID referring site asking for confirmation, and then redirects back to my site, but generates the following error:

[Warning] Invalid argument supplied for foreach()
GET /ForumMemberProfile/processopenidresponse?janrain_nonce=2010-07-08T18%3A40%3A31ZjxZx6D&openid.assoc_handle=%7BHMAC-SHA1%7D%7B4c361b9d%7D%7BqQJ8zQ%3D%3D%7D&openid.claimed_id=http%3A%2F%2FopenidDomain.TLD%2Fopenid%2Ffifi&openid.identity=http%3A%2F%2FopenidDomain.TLD%2Fopenid%2Ffifi&openid.mode=id_res&openid.ns=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0&openid.ns.sreg=http%3A%2F%2Fopenid.net%2Fextensions%2Fsreg%2F1.1&openid.op_endpoint=http%3A%2F%2FopenidDomain.TLD%2Fopenid&openid.response_nonce=2010-07-08T18%3A40%3A35Zj6XEl4&openid.return_to=http%3A%2F%2Fwww.mysite.org%2FForumMemberProfile%2Fprocessopenidresponse%3Fjanrain_nonce%3D2010-07-08T18%253A40%253A31ZjxZx6D&openid.sig=LnSOChD9ZQx%2BC10d5WjT7eN3cT0%3D&openid.signed=assoc_handle%2Cclaimed_id%2Cidentity%2Cmode%2Cns%2Cns.sreg%2Cop_endpoint%2Cresponse_nonce%2Creturn_to%2Csigned%2Csreg.email%2Csreg.fullname%2Csreg.nickname&openid.sreg.email=username%40myemail.com&openid.sreg.fullname=&openid.sreg.nickname=fifi

Line 427 in /system/home/mysite.org/www/www.mysite.org/openid/code/Auth/OpenID/Message.php
Source

418 }
419
420 function fromPostArgs($args)
421 {
422 // Construct a Message containing a set of POST arguments
423 $obj = new Auth_OpenID_Message();
424
425 // Partition into "openid." args and bare args
426 $openid_args = array();
427 foreach ($args as $key => $value) {
428
429 if (is_array($value)) {
430 return null;
431 }
432
433 $parts = explode('.', $key, 2);

Trace

* Auth_OpenID_Message->fromPostArgs(http://www.mysite.org/ForumMemberProfile/ProcessOpenIDResponse)
Line 417 of Consumer.php
* Auth_OpenID_Consumer->complete(http://www.mysite.org/ForumMemberProfile/ProcessOpenIDResponse)
Line 388 of ForumMemberProfile.php
* ForumMemberProfile->processopenidresponse(SS_HTTPRequest)
Line 193 of Controller.php
* Controller->handleAction(SS_HTTPRequest)
Line 134 of RequestHandler.php
* RequestHandler->handleRequest(SS_HTTPRequest)
Line 147 of Controller.php
* Controller->handleRequest(SS_HTTPRequest)
Line 199 of ContentController.php
* ContentController->handleRequest(SS_HTTPRequest)
Line 283 of Director.php
* Director::handleRequest(SS_HTTPRequest,Session)
Line 127 of Director.php
* Director::direct(/ForumMemberProfile/processopenidresponse)
Line 127 of main.php

Avatar
feef

Community Member, 19 Posts

9 July 2010 at 8:13am

entering an "echo $args;" into line 426, I see the following on the error page.

[url=http://www.[domain].org/ForumMemberProfile/ProcessOpenIDResponse]http://www.[domain].org/ForumMemberProfile/ProcessOpenIDResponse

The foreach is expecting the $args to be an array, not a string.

However, I can't seem to find what's calling the fromPostArgs() function and passing the args incorrectly.

Avatar
feef

Community Member, 19 Posts

9 July 2010 at 9:50pm

Edited: 09/07/2010 9:55pm

reinstalled the module, to ensure none of the debugging I put in was confusing matters, and am still getting the same "foreach" error.