使用Azure Active Directory和Azure Mobile Services对PHP Web应用程序进行身份验证

6
我有一个已经与Azure移动服务集成的现有移动应用程序。移动服务目前连接到启用了MFA的Azure Active Directory。我正在尝试构建一个单独的基于PHP的Web应用程序,该应用程序使用此现有的移动服务和身份验证。
身份验证
用户的唯一活动目录是基于云的AAD。没有本地版本,也没有Office 365。经过大量研究,似乎PHP可以使用SAML进行集成。但是,要么没有PHP示例Azure Active Directory Code Samples,要么它们与Office 365azure-sdk-for-php-samples相关联。
如何通过Web应用程序对我的用户进行身份验证?
授权
一旦用户经过身份验证,如何确保该用户具有与通过移动服务的用户相同的访问级别?

这似乎与之相关 https://github.com/AzureADSamples/WebApp-GraphAPI-DirectoryExtensions-PHP - hanshenrik
1个回答

5
一种选择是让您的PHP应用程序使用Mobile Services JavaScript SDK提供页面并执行登录,从而获得与移动应用程序相同的令牌。关于授权的问题,只要您通过Mobile Service进行后续的后端调用,您将获得与在该服务上定义的完全相同的授权规则。
令牌将绑定到客户端,您可能希望将其传回服务器以进行调用。实际的Mobile Services令牌位于client.currentUser.authenticationToken中,您可以在Javascript代码中将其设置为cookie,然后在随后的PHP后端调用中检索它。
从您的PHP后端对Mobile Service(通过REST API)的调用只需要在X-ZUMO-AUTH标头中设置此令牌。
这种方法适用于所有提供商,包括AAD。在这种情况下,MFA不应该是一个问题。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接