andrew-rose/oauth.php

此包最新版本(dev-master)没有提供许可证信息。

dev-master 2021-02-10 10:12 UTC

This package is not auto-updated.

Last update: 2024-09-20 01:48:10 UTC


README

这段代码只有一个目标,那就是允许你将链接添加到登录页面,以便用户可以通过简单的点击确认他们的电子邮件地址(身份),然后重定向到你的应用程序,如果信任Google/Microsoft,你可以立即使用指定的电子邮件地址登录用户,无需用户名/密码,神奇。

目前只配置了Google/Microsoft身份提供者,但你不应该在oauth.ini中添加更多问题。

要安装,请将oauth.php放入你的网站根目录中,配置oauth.ini并将其放置在网站根目录之外,包含你的客户端ID/密钥(见下面的说明以获取),并在登录页面嵌入登录链接,你可以通过直接访问oauth.php并复制HTML链接然后将它们直接粘贴到你的登录页面中,或者直接使用jQuery包含它们,例如。

<div id="sso"></div>  
<script type="text/javascript">
    jQuery('#sso').load('oauth.php');
</script>

用户点击他们的身份提供者的链接后,提供者将验证他们(希望如此)并将用户重定向回oauth.php,带上用户的电子邮件地址,然后可以在你的登录过程中使用此电子邮件地址,即。

session_start();
$_SESSION['ssoEmail'] = $data[$settings[$idp]['emailIdentifier']];
header('Location: '.$settings['default']['uri']);
session_write_close();

上述操作设置了一个会话变量ssoEmail,然后用户被重定向到主应用程序,该应用程序检查此会话变量,如果设置,则登录用户。如果你的要求更复杂/不同,你需要编辑上述代码中的ouath.php。

要注册Google SSO,请访问 https://console.cloud.google.com 并在左侧选择凭证 -> 创建凭证 -> OAuth客户端ID。应用程序类型是Web应用程序,重定向URI需要指向你的网站根目录中的oauth.php,例如 https://your.domain/oauth.php

要注册Microsoft SSO,请转到 https://portal.azure.com 并选择Azure Active Directory -> 应用注册。确保重定向URI指向你的网站根目录中的oauth.php,例如 https://your.domain/oauth.php

欢迎贡献!