Php MediaWiki扩展:GoogleAppsAuthentication多个域

Php MediaWiki扩展:GoogleAppsAuthentication多个域,php,oauth,openid,mediawiki,google-apps,Php,Oauth,Openid,Mediawiki,Google Apps,我一直在使用mediawiki的强大扩展,允许我的用户使用他们的Google Apps帐户登录。我们最近在我们的谷歌应用程序中添加了另一个域,我想为这些用户提供使用他们的谷歌应用程序域登录我们的维基的选项 开箱即用,这在扩展中是不可能的,但是添加多个域支持似乎非常简单 其想法是在执行重定向到谷歌登录屏幕之前,用可用域的下拉列表提示用户 我对mediawiki API的了解非常有限,我可以使用一些指针 扩展钩住UserLoadFromSession钩子,该钩子在UserLoginForm钩子之前调

我一直在使用mediawiki的强大扩展,允许我的用户使用他们的Google Apps帐户登录。我们最近在我们的谷歌应用程序中添加了另一个域,我想为这些用户提供使用他们的谷歌应用程序域登录我们的维基的选项

开箱即用,这在扩展中是不可能的,但是添加多个域支持似乎非常简单

其想法是在执行重定向到谷歌登录屏幕之前,用可用域的下拉列表提示用户

我对mediawiki API的了解非常有限,我可以使用一些指针

扩展钩住UserLoadFromSession钩子,该钩子在UserLoginForm钩子之前调用。我必须向该函数添加代码,以提示用户输入域,然后返回该函数,将所选域传递给getGoogleAccount()

我需要一些关于getDomainFromUser()函数的帮助。我不知道如何重定向到一个新页面,该页面显示由LocalSettings.py中定义的数组填充的下拉菜单,并将所选值返回fnGoogleAppsAuthenticateHook函数


任何帮助都将不胜感激。我相信更多的人可以从这个扩展的附加功能中受益。

除非我误解了您的需要:

如果已启用$\u会话:

在“//in LocalSettings.py”中

代码的第1行:启动会话引擎

<?php session_start(); ?>
<?php session_start(); ?>

数组定义点的代码:获取数组并将其复制到会话变量,以便其他页面、函数等可以访问它

<?php
$wgDefaultUserOptions['GoogleAppsDomainList'] = array("domain.com", "otherdomain.com");
$_SESSION['a']=$wgDefaultUserOptions['GoogleAppsDomainList'];
?>

在要进行下拉选择的页面上:

代码的第1行:启动会话引擎

<?php session_start(); ?>
<?php session_start(); ?>

@需要下拉选择的点

<Form action="**processing page**" method="post">
<select name="Domain-Choice" >
 <?php
 foreach ($_SESSION['a'] as $key)
 {echo "<option value=\"".$key."\">".$key."</option>";}
 ?> 
 </select>
 </Form>

将表单操作设置为所需的任何PHP处理页面,$\u POST['Domain-Choice']将具有用户从下拉列表中选择的值,该下拉列表是从存储在会话变量中的数组中填充的,该数组是从LocalSettings.py中的数组集复制的($WGFaultUserOptions['GoogleAppsDomainList'))


如果我误解了您的需要,请提前道歉。

您是否尝试将应用程序域的整个电子邮件地址输入此(即,user@myAppsdomain.com) ? 如果你现在将google.com设置为apps域,看起来这可能会奏效。