snakebite, cont. magic-auth via openid is now possible, with the caveat that one needs a hand-crafted xchan at the moment to make use of it and if you wish to do so, there will be no assistance or help provided. The risk of system instability and mangled DBs now and going forward is significant if you try this.

This commit is contained in:
friendica 2014-02-17 20:10:43 -08:00
parent d6ab975b18
commit ea709361f6
2 changed files with 21 additions and 3 deletions

View File

@ -1137,7 +1137,7 @@ function get_default_profile_photo($size = 175) {
*/
function is_foreigner($s) {
return((strpbrk($s,':@')) ? true : false);
return((strpbrk($s,'.:@')) ? true : false);
}

View File

@ -59,8 +59,26 @@ function openid_content(&$a) {
goaway(z_root());
// }
unset($_SESSION['register']);
$args = '';
$r = q("select * from xchan where xchan_hash = '%s' limit 1",
dbesc($authid)
);
if($r) {
$_SESSION['authenticated'] = 1;
$_SESSION['visitor_id'] = $r[0]['xchan_hash'];
$_SESSION['my_address'] = $r[0]['xchan_addr'];
$arr = array('xchan' => $r[0], 'session' => $_SESSION);
call_hooks('magic_auth_openid_success',$arr);
$a->set_observer($r[0]);
require_once('include/security.php');
$a->set_groups(init_groups_visitor($_SESSION['visitor_id']));
info(sprintf( t('Welcome %s. Remote authentication successful.'),$r[0]['xchan_name']));
logger('mod_openid: remote auth success from ' . $r[0]['xchan_addr']);
if($_SESSION['return_url'])
goaway($_SESSION['return_url']);
goaway(z_root());
}
$attr = $openid->getAttributes();
if(is_array($attr) && count($attr)) {
foreach($attr as $k => $v) {