从PHP Web应用程序连接到Azure Active Directory

Vla*_*lgo 7 php active-directory azure simplesamlphp

为了获得关于这个主题的指导,因为我真的坚持这个,我有一个PHP的应用程序的内部URL,我想连接到Azure Active Directory.

到目前为止,我已经回顾了微软使用SimpleSAML的一个例子,但它确实已经过时了,我在为新的SimpleSAMl代码调整它时遇到了麻烦.

有没有更好的方法将Web应用程序与Azure AD集成?我在某个地方读到了我可以使用移动服务入门但我想听听以前的经验,了解使用Azure AD登录PHP的最佳/最新方法是什么?

- 编辑 -

通过集成,我的意思是允许人们从Azure AD中验证和检索电子邮件地址或EmployeeID以提供SSO支持.

Gar*_*SFT 6

Azure AD支持多种方案,具体取决于您使用Azure AD的方式.基本上,要从PHP Web应用程序通过Azure AD访问资源,您可以参考Web Application to Web API部分来了解此方案并开始使用.

要在PHP Web应用程序中集成Azure AD,我们需要遵循授权代码授予流程步骤来构建多个自定义HTTP请求.EG要通过OAuth 2.0协议获取访问令牌,我们应该参考授权代码授权流程的步骤,通常,我们将构建2个HTTP请求来获取访问令牌:

1,申请授权码 在此输入图像描述

构建URL将重定向到sso页面,登录后我们可以获得code将在下一步中使用的值.

2,使用授权码来请求访问令牌: 在此输入图像描述

然后,我们可以使用访问令牌将请求的Authorization标头中带有"Bearer"标识的JWT字符串添加到资源Web API.

这是Azure提供的PHP测试项目供您参考.


Wil*_*SFT 6

我们正在将 AD 迁移到 Azure AD,我们希望为内部 Web 应用程序提供 SSO 支持,以便当他们登录到他们的 PC 时使用 azure 应用程序代理,并且他们会在 PHP Web 应用程序上自动签名。这可能吗?

@Vladimir,根据我的经验,这是可能的。有一些场景可以参考。您可能需要使用 Azure AD Connect 将本地 AD 同步到 Azure AD,并在您的场景中启用 Azure AD SSO 与您的 php 应用程序集成。

首先,如果你想将你的本地 AD 集成到 Azure AD 上,你应该使用工具——Azure AD Connect,它用于将你的 AD 同步到 Azure AD。请参阅此教程视频。对于此操作,您需要具有 IT 管理员权限。

其次,您需要对 Azure 门户上的应用程序使用联合单一登录和其他方法。您可能需要像以下视频一样配置 PHP 应用程序:https : //channel9.msdn.com/Blogs/Open/Using-SimpleSAML-to-authenticate-PHP-applications-with-Azure-AD。如果你想获取用户信息,你可能需要使用 Azure Graph API 作为 Gary 的帖子。