SimpleSAMLphp OpenID 消费者

SimpleSAMLphp OpenID 消费者

我使用 SimpleSAMLphp 作为 OpenID 消费者,但我尝试的 openID 提供程序似乎都不起作用。
我总是收到以下错误:

Exception during login: SimpleSAML_Error_BadRequest: BADREQUEST('%REASON%' => 
             'Not a valid OpenID: \'https://www.google.com/accounts/o8/id\'')

或者:

 Exception during login: SimpleSAML_Error_BadRequest: BADREQUEST('%REASON%' => 
             'Not a valid OpenID: \'https://me.yahoo.com\'')

我尝试将我的 ID 与其他网页一起使用,并且运行正常。

我正在使用 apache 2.2 和 php5.3 以及来自有效 CA 的证书。有什么线索可以告诉我该如何解决这个问题吗?有人遇到过同样的问题吗?我还试图理解为什么库返回的 authn_request 为空...

答案1

我的 authsources 只是默认值加上 yahoo:

'openid' => array(
    'openid:OpenIDConsumer',
    'attributes.required' => array('nickname'),
    'attributes.optional' => array('fullname', 'email',),
    // 'sreg.validate' => FALSE,
   'attributes.ax_required' => array('http://axschema.org/namePerson/friendly'),
   'attributes.ax_optional' => array('http://axschema.org/namePerson','http://axschema.org/contact/email'),
    // Prefer HTTP redirect over POST
    // 'prefer_http_redirect' => FALSE,
),

'yahoo' => array(
    'openid:OpenIDConsumer',
    'target' => 'https://me.yahoo.com',
    'attributes.ax_required' => array(
            'http://axschema.org/contact/email',
    ),
    'extension.args' => array(
    ),
),

'google' => array(
    'openid:OpenIDConsumer',
    // Googles OpenID endpoint.
    'target' => 'https://www.google.com/accounts/o8/id',
    // Custom realm
    // 'realm' => 'http://*.example.org',
    // Attributes that google can supply.
    'attributes.ax_required' => array(
        //'http://axschema.org/namePerson/first',
        //'http://axschema.org/namePerson/last',
        //'http://axschema.org/contact/email',
        //'http://axschema.org/contact/country/home',
        //'http://axschema.org/pref/language',
    ),
    // custom extension arguments
    'extension.args' => array(
        //'http://specs.openid.net/extensions/ui/1.0' => array(
        //  'mode' => 'popup',
        //  'icon' => 'true',
        //),
    ),
),

相关内容