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

Authenticating a PHP Web App with Azure Active Directory and Azure Mobile Services

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

身份验证

用户唯一的活动目录是基于云的AAD。没有本地版本,也没有office 365。经过大量研究,似乎PHP可以使用SAML集成。但是,要么没有 PHP 个样本 Azure Active Directory Code Samples or they're tied to Office 365 azure-sdk-for-php-samples

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

授权

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

一种选择是让您的 PHP 应用使用 Mobile Services JavaScript SDK and have it perform the login.

提供页面

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

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

从您的 PHP 后端调用移动服务(通过 REST API)只需要在 X-ZUMO-AUTH header.

中设置此令牌

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