diff --git a/core/modules/openid/config/openid.settings.yml b/core/modules/openid/config/openid.settings.yml new file mode 100644 index 0000000..3c5aa79 --- /dev/null +++ b/core/modules/openid/config/openid.settings.yml @@ -0,0 +1,2 @@ +xri_proxy_resolver: + http://xri.net/ diff --git a/core/modules/openid/lib/Drupal/openid/Tests/OpenIDFunctionalTest.php b/core/modules/openid/lib/Drupal/openid/Tests/OpenIDFunctionalTest.php index b359f37..525e64d 100644 --- a/core/modules/openid/lib/Drupal/openid/Tests/OpenIDFunctionalTest.php +++ b/core/modules/openid/lib/Drupal/openid/Tests/OpenIDFunctionalTest.php @@ -88,7 +88,9 @@ function testDiscovery() { $this->addIdentity(url('openid-test/yadis/http-equiv', array('absolute' => TRUE)), 2); // Identifier is an XRI. Resolve using our own dummy proxy resolver. - variable_set('xri_proxy_resolver', url('openid-test/yadis/xrds/xri', array('absolute' => TRUE)) . '/'); + config('openid.settings') + ->set('xri_proxy_resolver', url('openid-test/yadis/xrds/xri', array('absolute' => TRUE)) . '/') + ->save(); $this->addIdentity('@example*résumé;%25', 2, 'http://example.com/xrds', 'http://example.com/user'); // Make sure that unverified CanonicalID are not trusted. diff --git a/core/modules/openid/openid.install b/core/modules/openid/openid.install index 9283e58..01ddd47 100644 --- a/core/modules/openid/openid.install +++ b/core/modules/openid/openid.install @@ -122,3 +122,14 @@ function openid_requirements($phase) { function openid_update_last_removed() { return 6000; } + +/** + * Moves xri_proxy_resolver settings from variable to config. + * + * @ingroup config_upgrade + */ +function openid_update_8001() { + update_variables_to_config('openid.settings', array( + 'xri_proxy_resolver' => 'xri_proxy_resolver', + )); +} diff --git a/core/modules/openid/openid.module b/core/modules/openid/openid.module index 76e003f..5071793 100644 --- a/core/modules/openid/openid.module +++ b/core/modules/openid/openid.module @@ -526,7 +526,7 @@ function _openid_xri_discovery($claimed_id) { if (_openid_is_xri($claimed_id)) { // Resolve XRI using a proxy resolver (Extensible Resource Identifier (XRI) // Resolution Version 2.0, section 11.2 and 14.3). - $xrds_url = variable_get('xri_proxy_resolver', 'http://xri.net/') . rawurlencode($claimed_id) . '?_xrd_r=application/xrds+xml'; + $xrds_url = config('openid.settings')->get('xri_proxy_resolver') . rawurlencode($claimed_id) . '?_xrd_r=application/xrds+xml'; $discovery = _openid_xrds_discovery($xrds_url); if (!empty($discovery['services']) && is_array($discovery['services'])) { foreach ($discovery['services'] as $i => &$service) {