]> gitweb.fluxo.info Git - lorea/elgg.git/commitdiff
Added "remember me" support for OpenID
authorSem <sembrestels@riseup.net>
Mon, 24 Sep 2012 16:16:43 +0000 (18:16 +0200)
committerSem <sembrestels@riseup.net>
Mon, 24 Sep 2012 16:16:43 +0000 (18:16 +0200)
actions/openid_client/login.php
return.php

index 604374ced4ad437320f413fd96e463bd564d428b..2a6896a611986faf82d037da74a24626a0f707ff 100644 (file)
@@ -6,6 +6,7 @@
 elgg_load_library('openid_consumer');
 
 $provider = get_input('openid_provider');
+$persistent = get_input('persistent', false);
 
 if ($provider == 'others') {
        $provider = get_input('openid_url');
@@ -13,7 +14,7 @@ if ($provider == 'others') {
 
 $consumer = new ElggOpenIDConsumer($store);
 $consumer->setURL($provider);
-$consumer->setReturnURL(elgg_get_site_url() . 'mod/openid_client/return.php');
+$consumer->setReturnURL(elgg_get_site_url() . "mod/openid_client/return.php?persistent=$persistent");
 
 $html = $consumer->requestAuthentication();
 if ($html) {
index ab0fc622afb4a0df0e5e705f6d158f9941e2936a..b37f25bd9db2847d3cae91853ad7141351ee1cbc 100644 (file)
@@ -14,9 +14,11 @@ require_once dirname(dirname(dirname(__FILE__))).'/engine/start.php';
 elgg_load_library('openid_consumer');\r
 elgg_load_library('openid_client');\r
 \r
+$persistent = get_input('persistent', false);\r
+\r
 // get user data from the response\r
 $consumer = new ElggOpenIDConsumer($store);\r
-$url = elgg_get_site_url() . 'mod/openid_client/return.php';\r
+$url = elgg_get_site_url() . "mod/openid_client/return.php?persistent=$persistent";\r
 $consumer->setReturnURL($url);\r
 $data = $consumer->completeAuthentication();\r
 if (!$data || !$data['openid_identifier']) {\r
@@ -48,7 +50,7 @@ if ($users) {
 if ($user) {\r
        // log in user and maybe update account (admin setting, user prompt?)\r
        try {\r
-               login($user);\r
+               login($user, $persistent);\r
        } catch (LoginException $e) {\r
                register_error($e->getMessage());\r
                forward();\r