Jump to:

10928 Posts in 2612 Topics by 1809 members

All other Modules

SilverStripe Forums » All other Modules » OpenID module fails.

Discuss all other Modules here.

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

Page: 1
Go to End
Author Topic: 1221 Views
  • feef
    Avatar
    Community Member
    19 Posts

    OpenID module fails. Link to this post

    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

  • feef
    Avatar
    Community Member
    19 Posts

    Re: OpenID module fails. Link to this post

    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

  • feef
    Avatar
    Community Member
    19 Posts

    Re: OpenID module fails. Link to this post

    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

  • feef
    Avatar
    Community Member
    19 Posts

    Re: OpenID module fails. Link to this post

    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.

  • feef
    Avatar
    Community Member
    19 Posts

    Re: OpenID module fails. Link to this post

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

    1221 Views
Page: 1
Go to Top

Want to know more about the company that brought you SilverStripe? Then check out SilverStripe.com

Comments on this website? Please give feedback.