plugin_openid:
* New PHP-OpenId lib * Patched it with a pull request found at GitHub solving depreated problems * Removed temp storage path from config (as no user knows what to do here) and replaced it with a templates_c path. * A lot more documentation inside the plugin configuration. * A lot of fixes.
This commit is contained in:
parent
6a939ae1a9
commit
2c34381896
10 changed files with 120 additions and 35 deletions
|
@ -1,6 +1,7 @@
|
|||
Version 0.3 (brockhaus)
|
||||
Version 0.5 (brockhaus)
|
||||
---------------------------------
|
||||
* New PHP-OpenId lib
|
||||
* Patched it with a pull request found at GitHub solving depreated
|
||||
problems
|
||||
* Patched it with a pull request found at GitHub solving depreated problems
|
||||
* Removed temp storage path from config (as no user knows what to do here) and replaced it with a templates_c path.
|
||||
* A lot more documentation inside the plugin configuration.
|
||||
* A lot of fixes.
|
||||
|
|
|
@ -12,9 +12,6 @@
|
|||
|
||||
@define('PLUGIN_EVENT_OPENID_SELECT', 'OpenID svázané s tímto účtem');
|
||||
|
||||
@define('PLUGIN_OPENID_STORE_PATH', 'Cesta k OpenID úložišti');
|
||||
@define('PLUGIN_OPENID_STORE_PATH_DESC', 'Cesta na serveru pro ukládání dočasných dat seance OpenID');
|
||||
|
||||
@define('PLUGIN_OPENID_SERVER', 'OpenID server');
|
||||
@define('PLUGIN_OPENID_SERVER_DESC', 'OpenID server pro použití delegáta (vyžaduje naplněné OpenID delegáty)');
|
||||
|
||||
|
|
|
@ -12,9 +12,6 @@
|
|||
|
||||
@define('PLUGIN_EVENT_OPENID_SELECT', 'OpenID svázané s tímto účtem');
|
||||
|
||||
@define('PLUGIN_OPENID_STORE_PATH', 'Cesta k OpenID úložišti');
|
||||
@define('PLUGIN_OPENID_STORE_PATH_DESC', 'Cesta na serveru pro ukládání dočasných dat seance OpenID');
|
||||
|
||||
@define('PLUGIN_OPENID_SERVER', 'OpenID server');
|
||||
@define('PLUGIN_OPENID_SERVER_DESC', 'OpenID server pro použití delegáta (vyžaduje naplněné OpenID delegáty)');
|
||||
|
||||
|
|
38
serendipity_event_openid/UTF-8/lang_de.inc.php
Normal file
38
serendipity_event_openid/UTF-8/lang_de.inc.php
Normal file
|
@ -0,0 +1,38 @@
|
|||
<?php
|
||||
|
||||
@define('PLUGIN_OPENID_NAME', 'OpenID Authentifizierung');
|
||||
@define('PLUGIN_OPENID_DESC', 'Ermöglicht es Autoren des Blogs, sich mit ihrer OpenID einzuloggen.');
|
||||
|
||||
@define('PLUGIN_OPENID_EXISTS', 'Du bist bereits mit OpenID registriert.');
|
||||
@define('PLUGIN_OPENID_WRONG_ACTIVATION', 'Ungültige Aktivierungs URL!');
|
||||
|
||||
@define('PLUGIN_EVENT_OPENID_SELECT', 'Mit diesem Benutzer verknüfte OpenID URL');
|
||||
|
||||
@define('PLUGIN_OPENID_DESCRIPTION',
|
||||
'<h3>OpenID benutzen, um in Dein Blog einzuloggen</h3>' .
|
||||
'<p>Das Plugin benötigt keinerlei Konfiguration, um ein OpenID Login zu implementieren (OpenID konfiguriert sich selbstständig)</p>' .
|
||||
'<p>Aber Benutzer, die OpenID als Login verwenden wollen, müssen einmal angeben, welche OpenID URL sie identifizieren soll. ' .
|
||||
'Wenn Du also OpenID als Login Option benutzen möchtest, gehe zu Deiner <a href="serendipity_admin.php?serendipity[adminModule]=personal">Profilseite in Serendipity</a> und konfiguriere Deine OpenID URL (im unteren Bereich der Seite).</p>'
|
||||
);
|
||||
|
||||
@define('PLUGIN_OPENID_DELEGATION_DESCRIPTION',
|
||||
'<h3>Einstellungen für eine OpenID Delegation (Optional)</h3>' .
|
||||
'<p>Wenn Du Diene Blog URL als Open ID URL benutzen möchtest, kannst Du hier eine Delegation von Deinem Blog zu Deinem eigentlichen OpenID Provider einrichten.<br/>' .
|
||||
'Das Plugin wird damit dann Informationen in dem HTML Deines Blogs hinterlassen, die die Services darüber informieren, wo Deine OpenID gehostet wird.</p>' .
|
||||
'<p>Das Aufsetzen der Delegation ist völlig optional und wird nicht für ein Login in Dein Blog mittels OpenID benötigt.</p>'
|
||||
);
|
||||
|
||||
@define('PLUGIN_OPENID_SERVER', 'OpenID Server');
|
||||
@define('PLUGIN_OPENID_SERVER_DESC', 'OpenID Server, der Deine OpenID hostet (benötigt einen Eintrag in "OpenID Delegation")');
|
||||
|
||||
@define('PLUGIN_OPENID_DELEGATE', 'Deine OpenID Delegation');
|
||||
@define('PLUGIN_OPENID_DELEGATE_DESC', 'OpenID Delegation (benötigt einen Eintrag in "OpenID Server")');
|
||||
|
||||
@define('PLUGIN_OPENID_XRDS_LOC', 'OpenID XRDS Location');
|
||||
@define('PLUGIN_OPENID_XRDS_LOC_DESC', 'URL des XRDS Dokumentes (wird meist nicht benötigt)');
|
||||
|
||||
@define('PLUGIN_OPENID_LOGIN_INPUT', 'Melde Dich mit Deiner OpenID an.');
|
||||
|
||||
@define('PLUGIN_OPENID_UPDATE_SUCCESS', 'Deine OpenID wurde erneuert.');
|
||||
@define('PLUGIN_OPENID_UPDATE_FAIL', 'Es trat ein Fehler beim Update Deiner OpenID auf.');
|
||||
@define('PLUGIN_OPENID_INVALID_RESPONSE', 'Ungültige OpenID eingegeben');
|
|
@ -4,9 +4,8 @@
|
|||
$probelang = dirname(__FILE__) . '/' . $serendipity['charset'] . 'lang_' . $serendipity['lang'] . '.inc.php';
|
||||
if (file_exists($probelang)) {
|
||||
include $probelang;
|
||||
} else {
|
||||
include dirname(__FILE__) . '/lang_en.inc.php';
|
||||
}
|
||||
include_once dirname(__FILE__) . '/lang_en.inc.php';
|
||||
|
||||
function escape($message) {
|
||||
return htmlspecialchars($message, ENT_QUOTES);
|
||||
|
|
|
@ -12,9 +12,6 @@
|
|||
|
||||
@define('PLUGIN_EVENT_OPENID_SELECT', 'OpenID svázané s tímto účtem');
|
||||
|
||||
@define('PLUGIN_OPENID_STORE_PATH', 'Cesta k OpenID úložišti');
|
||||
@define('PLUGIN_OPENID_STORE_PATH_DESC', 'Cesta na serveru pro ukládání dočasných dat seance OpenID');
|
||||
|
||||
@define('PLUGIN_OPENID_SERVER', 'OpenID server');
|
||||
@define('PLUGIN_OPENID_SERVER_DESC', 'OpenID server pro použití delegáta (vyžaduje naplněné OpenID delegáty)');
|
||||
|
||||
|
|
|
@ -12,9 +12,6 @@
|
|||
|
||||
@define('PLUGIN_EVENT_OPENID_SELECT', 'OpenID svázané s tímto účtem');
|
||||
|
||||
@define('PLUGIN_OPENID_STORE_PATH', 'Cesta k OpenID úložišti');
|
||||
@define('PLUGIN_OPENID_STORE_PATH_DESC', 'Cesta na serveru pro ukládání dočasných dat seance OpenID');
|
||||
|
||||
@define('PLUGIN_OPENID_SERVER', 'OpenID server');
|
||||
@define('PLUGIN_OPENID_SERVER_DESC', 'OpenID server pro použití delegáta (vyžaduje naplněné OpenID delegáty)');
|
||||
|
||||
|
|
38
serendipity_event_openid/lang_de.inc.php
Normal file
38
serendipity_event_openid/lang_de.inc.php
Normal file
|
@ -0,0 +1,38 @@
|
|||
<?php
|
||||
|
||||
@define('PLUGIN_OPENID_NAME', 'OpenID Authentifizierung');
|
||||
@define('PLUGIN_OPENID_DESC', 'Ermöglicht es Autoren des Blogs, sich mit ihrer OpenID einzuloggen.');
|
||||
|
||||
@define('PLUGIN_OPENID_EXISTS', 'Du bist bereits mit OpenID registriert.');
|
||||
@define('PLUGIN_OPENID_WRONG_ACTIVATION', 'Ungültige Aktivierungs URL!');
|
||||
|
||||
@define('PLUGIN_EVENT_OPENID_SELECT', 'Mit diesem Benutzer verknüfte OpenID URL');
|
||||
|
||||
@define('PLUGIN_OPENID_DESCRIPTION',
|
||||
'<h3>OpenID benutzen, um in Dein Blog einzuloggen</h3>' .
|
||||
'<p>Das Plugin benötigt keinerlei Konfiguration, um ein OpenID Login zu implementieren (OpenID konfiguriert sich selbstständig)</p>' .
|
||||
'<p>Aber Benutzer, die OpenID als Login verwenden wollen, müssen einmal angeben, welche OpenID URL sie identifizieren soll. ' .
|
||||
'Wenn Du also OpenID als Login Option benutzen möchtest, gehe zu Deiner <a href="serendipity_admin.php?serendipity[adminModule]=personal">Profilseite in Serendipity</a> und konfiguriere Deine OpenID URL (im unteren Bereich der Seite).</p>'
|
||||
);
|
||||
|
||||
@define('PLUGIN_OPENID_DELEGATION_DESCRIPTION',
|
||||
'<h3>Einstellungen für eine OpenID Delegation (Optional)</h3>' .
|
||||
'<p>Wenn Du Diene Blog URL als Open ID URL benutzen möchtest, kannst Du hier eine Delegation von Deinem Blog zu Deinem eigentlichen OpenID Provider einrichten.<br/>' .
|
||||
'Das Plugin wird damit dann Informationen in dem HTML Deines Blogs hinterlassen, die die Services darüber informieren, wo Deine OpenID gehostet wird.</p>' .
|
||||
'<p>Das Aufsetzen der Delegation ist völlig optional und wird nicht für ein Login in Dein Blog mittels OpenID benötigt.</p>'
|
||||
);
|
||||
|
||||
@define('PLUGIN_OPENID_SERVER', 'OpenID Server');
|
||||
@define('PLUGIN_OPENID_SERVER_DESC', 'OpenID Server, der Deine OpenID hostet (benötigt einen Eintrag in "OpenID Delegation")');
|
||||
|
||||
@define('PLUGIN_OPENID_DELEGATE', 'Deine OpenID Delegation');
|
||||
@define('PLUGIN_OPENID_DELEGATE_DESC', 'OpenID Delegation (benötigt einen Eintrag in "OpenID Server")');
|
||||
|
||||
@define('PLUGIN_OPENID_XRDS_LOC', 'OpenID XRDS Location');
|
||||
@define('PLUGIN_OPENID_XRDS_LOC_DESC', 'URL des XRDS Dokumentes (wird meist nicht benötigt)');
|
||||
|
||||
@define('PLUGIN_OPENID_LOGIN_INPUT', 'Melde Dich mit Deiner OpenID an.');
|
||||
|
||||
@define('PLUGIN_OPENID_UPDATE_SUCCESS', 'Deine OpenID wurde erneuert.');
|
||||
@define('PLUGIN_OPENID_UPDATE_FAIL', 'Es trat ein Fehler beim Update Deiner OpenID auf.');
|
||||
@define('PLUGIN_OPENID_INVALID_RESPONSE', 'Ungültige OpenID eingegeben');
|
|
@ -8,19 +8,31 @@
|
|||
|
||||
@define('PLUGIN_EVENT_OPENID_SELECT', 'Current OpenID associated with this account');
|
||||
|
||||
@define('PLUGIN_OPENID_STORE_PATH', 'OpenID storage path');
|
||||
@define('PLUGIN_OPENID_STORE_PATH_DESC', 'Path on server to store temporary OpenID session data');
|
||||
@define('PLUGIN_OPENID_DESCRIPTION',
|
||||
'<h3>Using OpenID to log into your blog</h3>' .
|
||||
'<p>This plugin does not need any configuration to enable login into your blog using OpenID (OpenID is self configuring)</p>' .
|
||||
'<p>But users, who want to use OpenID for login have to configure the OpenID URL they want to be identified with. ' .
|
||||
'So if you want to use OpenID as a login option, go to your <a href="serendipity_admin.php?serendipity[adminModule]=personal">Serendipity profile page</a> and configure your OpenID URL (at the bottom of the page).</p>'
|
||||
);
|
||||
|
||||
@define('PLUGIN_OPENID_SERVER', 'OpenID server');
|
||||
@define('PLUGIN_OPENID_DELEGATION_DESCRIPTION',
|
||||
'<h3>OpenID Delegation Settings (Optional)</h3>' .
|
||||
'<p>If you want to use your blog as your OpenID URL while logging in to services supporting it, you can configure here a delegation from your blog to the OpenID service hosting your ID.<br/>' .
|
||||
'The plugin will add some information to your blogs HTML informing the services about where to look up your ID when you enter your blogs URL as your OpenID.</p>' .
|
||||
'<p>Settung up delegation is completely optional and not needed for logging into your blog with OpenID.</p>'
|
||||
);
|
||||
|
||||
@define('PLUGIN_OPENID_SERVER', 'OpenID server used for delegation');
|
||||
@define('PLUGIN_OPENID_SERVER_DESC', 'OpenID server to use for delegate (requires OpenID delegate to be populated)');
|
||||
|
||||
@define('PLUGIN_OPENID_DELEGATE', 'OpenID delegate');
|
||||
@define('PLUGIN_OPENID_DELEGATE', 'Delegate to OpenID URL');
|
||||
@define('PLUGIN_OPENID_DELEGATE_DESC', 'OpenID delegate (requires OpenID server to be populated)');
|
||||
|
||||
@define('PLUGIN_OPENID_XRDS_LOC', 'OpenID XRDS Location');
|
||||
@define('PLUGIN_OPENID_XRDS_LOC_DESC', 'URL for XRDS Document Location (requires OpenID server to be populated)');
|
||||
@define('PLUGIN_OPENID_XRDS_LOC_DESC', 'URL for XRDS Document Location (not needed normaly)');
|
||||
|
||||
@define('PLUGIN_OPENID_LOGIN_INPUT', 'Logon using your OpenID.');
|
||||
|
||||
@define('PLUGIN_OPENID_UPDATE_SUCCESS', 'Your OpenID has been updated');
|
||||
@define('PLUGIN_OPENID_UPDATE_FAIL', 'An Error occurred updating your OpenID');
|
||||
@define('PLUGIN_OPENID_INVALID_RESPONSE', 'Invalid OpenID Entered');
|
||||
?>
|
|
@ -13,7 +13,7 @@ class serendipity_event_openid extends serendipity_event
|
|||
$propbag->add('description', PLUGIN_OPENID_DESC);
|
||||
$propbag->add('stackable', false);
|
||||
$propbag->add('author', 'Grischa Brockhaus, Rob Richards');
|
||||
$propbag->add('version', '0.3');
|
||||
$propbag->add('version', '0.5');
|
||||
$propbag->add('requirements', array(
|
||||
'serendipity' => '1.2',
|
||||
'smarty' => '2.6.7',
|
||||
|
@ -28,7 +28,8 @@ class serendipity_event_openid extends serendipity_event
|
|||
));
|
||||
|
||||
$propbag->add('configuration', array(
|
||||
'storage_path',
|
||||
'plugin_desc',
|
||||
'delegation_desc',
|
||||
'server',
|
||||
'delegate',
|
||||
'xrds_location'
|
||||
|
@ -38,11 +39,13 @@ class serendipity_event_openid extends serendipity_event
|
|||
function introspect_config_item($name, &$propbag)
|
||||
{
|
||||
switch($name) {
|
||||
case 'storage_path':
|
||||
$propbag->add('type', 'string');
|
||||
$propbag->add('name', PLUGIN_OPENID_STORE_PATH);
|
||||
$propbag->add('description', PLUGIN_OPENID_STORE_PATH_DESC);
|
||||
$propbag->add('default', '/tmp/_php_consumer_test');
|
||||
case 'plugin_desc':
|
||||
$propbag->add('type', 'content');
|
||||
$propbag->add('default', PLUGIN_OPENID_DESCRIPTION);
|
||||
break;
|
||||
case 'delegation_desc':
|
||||
$propbag->add('type', 'content');
|
||||
$propbag->add('default', PLUGIN_OPENID_DELEGATION_DESCRIPTION);
|
||||
break;
|
||||
case 'server':
|
||||
$propbag->add('type', 'string');
|
||||
|
@ -103,7 +106,7 @@ class serendipity_event_openid extends serendipity_event
|
|||
|
||||
case 'backend_login_page':
|
||||
$hidden = array('action'=>'admin');
|
||||
$eventData['header'] .= '<div align="center"><p>Logon using your OpenID<br />'.
|
||||
$eventData['header'] .= '<div align="center"><p>' . PLUGIN_OPENID_LOGIN_INPUT . '<br />'.
|
||||
serendipity_common_openid::loginform('serendipity_admin.php', $hidden, NULL).
|
||||
'</p><br /></div>';
|
||||
break;
|
||||
|
@ -116,7 +119,7 @@ class serendipity_event_openid extends serendipity_event
|
|||
$eventData = serendipity_common_openid::reauth_openid();
|
||||
if (! empty($serendipity['POST']['openid_url']) && ! empty($serendipity['POST']['openidflag'])) {
|
||||
/* Check that openid isn't already associated with another login */
|
||||
$tmpRet = serendipity_common_openid::redir_openidserver($serendipity['POST']['openid_url'], $this->get_config('storage_path'), 3);
|
||||
$tmpRet = serendipity_common_openid::redir_openidserver($serendipity['POST']['openid_url'], $this->get_consumertest_path(), 3);
|
||||
|
||||
/* If updating an OpenID it is not a real login attempt */
|
||||
if (($tmpRet === false) && (($serendipity['GET']['openidflag']==3) || ($serendipity['POST']['openidflag']==3))) {
|
||||
|
@ -127,17 +130,17 @@ class serendipity_event_openid extends serendipity_event
|
|||
$eventData = serendipity_common_openid::reauth_openid();
|
||||
}
|
||||
} else if (! empty($serendipity['GET']['openidflag']) && ($serendipity['GET']['openidflag']==1)) {
|
||||
$eventData = serendipity_common_openid::authenticate_openid($_GET, $this->get_config('storage_path'));
|
||||
$eventData = serendipity_common_openid::authenticate_openid($_GET, $this->get_consumertest_path());
|
||||
print_r($eventData);
|
||||
} else if (! empty($serendipity['POST']['openid_url']) && ! empty($serendipity['POST']['action'])) {
|
||||
$eventData = serendipity_common_openid::redir_openidserver($serendipity['POST']['openid_url'], $this->get_config('storage_path'), 1);
|
||||
$eventData = serendipity_common_openid::redir_openidserver($serendipity['POST']['openid_url'], $this->get_consumertest_path(), 1);
|
||||
}
|
||||
return;
|
||||
|
||||
case 'backend_sidebar_entries_event_display_profiles':
|
||||
if (($_SESSION['serendipityAuthedUser'] == true)) {
|
||||
if (! empty($serendipity['GET']['openidflag']) && ($serendipity['GET']['openidflag']==3)) {
|
||||
if ($checkRet = serendipity_common_openid::authenticate_openid($_GET, $this->get_config('storage_path'), true)) {
|
||||
if ($checkRet = serendipity_common_openid::authenticate_openid($_GET, $this->get_consumertest_path(), true)) {
|
||||
if (serendipity_common_openid::updateOpenID($checkRet['openID'], $serendipity['authorid'])) {
|
||||
echo '<strong>' . htmlspecialchars(PLUGIN_OPENID_UPDATE_SUCCESS) . '</strong><br /><br />';
|
||||
} else {
|
||||
|
@ -167,6 +170,12 @@ class serendipity_event_openid extends serendipity_event
|
|||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
function get_consumertest_path() {
|
||||
global $serendipity;
|
||||
|
||||
return $serendipity['serendipityPath'] . PATH_SMARTY_COMPILE . '/_php_consumer_test';
|
||||
}
|
||||
}
|
||||
|
||||
/* vim: set sts=4 ts=4 expandtab : */
|
||||
|
|
Loading…
Reference in a new issue