我有一个与Azure移动服务集成的现有移动应用程序。移动服务当前已连接到启用了MFA的Azure Active Directory。我正在尝试构建一个单独的基于PHP的Web应用程序,该应用程序使用现有的移动服务和身份验证。
验证
用户唯一的活动目录是基于云的AAD。没有本地版本,也没有办公室365.经过大量研究,看来PHP可以使用SAML进行集成。但是,要么没有PHP样本Azure Active Directory Code Samples,要么它们与Office 365 azure-sdk-for-php-samples绑定。
如何通过网络应用程序针对AAD对我的用户进行身份验证?
授权
用户通过身份验证后,如何确保用户通过移动服务获得与用户相同的访问权限级别?
答案 0 :(得分:4)
一种选择是让您的PHP应用使用Mobile Services JavaScript SDK投放网页并让其执行login。
您将获得与移动应用中相同的令牌。对于您的授权问题,只要您通过移动服务进行后续后端呼叫,您将获得与您在该服务上定义的完全相同的授权规则。
令牌将受客户端限制,您可能希望将其恢复到服务器以进行呼叫。实际的移动服务令牌位于client.currentUser.authenticationToken
,您可以将其设置为javascript代码中的cookie,然后在后续调用中在PHP后端检索它。
从PHP后端调用移动服务(通过REST API)只需要在X-ZUMO-AUTH标头中设置此标记。
此方法适用于所有提供商,包括AAD。在这种情况下,MFA应该不是问题。