使用Azure Active Directory和Azure移动服务验证PHP Web应用程序

Dex*_*ter 6 azure azure-mobile-services azure-active-directory

我有一个与Azure移动服务集成的现有移动应用程序.移动服务当前已连接到启用了MFA的Azure Active Directory.我正在尝试构建一个单独的基于PHP的Web应用程序,该应用程序使用现有的移动服务和身份验证.

认证

用户唯一的活动目录是基于云的AAD.没有本地版本,也没有办公室365.经过大量研究,看来PHP可以使用SAML进行集成.但是,要么没有PHP示例Azure Active Directory代码示例,要么它们与Office 365 azure-sdk-for-php-samples绑定.

如何通过网络应用程序针对AAD对我的用户进行身份验证?

授权

用户通过身份验证后,如何确保用户通过移动服务获得与用户相同的访问级别?

小智 5

一种选择是让您的 PHP 应用程序使用移动服务 JavaScript SDK提供一个页面并让它执行登录

您将获得与在移动应用程序中相同的令牌。对于您关于授权的问题,只要您通过移动服务进行后续后端调用,您将获得与您在该服务上定义的完全相同的授权规则。

令牌将是客户端绑定的,您可能希望将其返回到您的服务器以进行调用。实际的移动服务令牌位于 中client.currentUser.authenticationToken,您可以在 javascript 代码中将其设置为 cookie,然后在后续调用中在 PHP 后端检索它。

从 PHP 后端调用移动服务(通过REST API)只需要在 X-ZUMO-AUTH 标头中设置此令牌。

这种方法应该适用于所有提供者,包括 AAD。在这种情况下,MFA 应该不是问题。