为了寻求关于这个主题的指导,因为我真的被困在这个问题上了,我有一个在PHP上制作的应用程序的内部URL,我想连接到Azure Active Directory。
到目前为止,我已经检查了一个使用SimpleSAML的example from Microsoft,但是它真的很过时,而且我很难让它适应较新的SimpleSAMl代码。
是否有更好的方法将web应用程序与Azure AD集成?我在某个地方读到,我可能会使用Mobile Services入门,但我想从以前的经验中了解一下使用Azure AD登录PHP的最佳/当前方法是什么?
-编辑--
通过集成,我的意思是允许人们认证和检索来自Azure AD的电子邮件地址或EmployeeID,以提供单点登录支持。
发布于 2015-11-04 10:51:29
Azure AD支持多个场景,这取决于您使用Azure AD的用途。基本上,要通过Azure AD从PHP应用程序访问资源,您可以参考Web Application to Web API部分来了解此场景并开始使用。
要将Azure AD集成到PHP web应用程序中,我们需要遵循授权码授权流程步骤来构建几个自定义HTTP请求。例如,通过HTTP2.0协议获取访问令牌,我们参考Authorization Code Grant Flow上的步骤,一般会构建两个OAuth请求来获取访问令牌:
1、请求授权码

建立网址将重定向到单点登录页面,登录后,我们可以获得将在下一步中使用的code值。
2、使用授权码请求访问令牌:

然后,我们可以使用访问令牌将在请求的Authorization头中指定为“Bearer”的JWT字符串添加到资源web API。
这里有一个由Azure提供的PHP test project供你参考。
发布于 2015-11-09 14:36:48
我们正在将我们的AD迁移到Azure AD,我们希望对内部web应用程序提供单点登录支持,这样当他们登录到他们的PC时,他们可以使用azure应用程序代理,他们会自动在PHP web应用程序上进行登录。这可能吗?
@Vladimir,根据我的经验,这是可能的。你可以参考一些some scenarios。你可能需要使用Azure AD Connect将你的本地AD同步到Azure AD,并在你的场景中启用Azure AD SSO与你的php应用程序集成。
首先,如果你想在Azure AD上集成你的本地AD,你应该使用工具-- Azure AD Connect,它用于将你的AD同步到Azure AD。请参阅此tutorials和video。对于此操作,您需要具有IT管理员权限。
其次,您需要在Azure Portal上为您的应用程序使用Federated Single Sign-On和其他方法。您可能需要像这样配置您的PHP应用程序:https://channel9.msdn.com/Blogs/Open/Using-SimpleSAML-to-authenticate-PHP-applications-with-Azure-AD。如果你想获得用户的信息,你可能需要使用Azure Graph API作为Gary的帖子。
https://stackoverflow.com/questions/33509761
复制相似问题