我使用一组现有的用户构建并维护了一个PHP web应用程序。身份验证是应用程序中的用户名和密码。
现在需要使用现有的Azure AD帐户为大量新用户提供访问权限。客户端希望这些用户能够使用他们的Azure身份登录。现有用户将继续以他们当前的方式进行身份验证。
我认为这应该类似于Facebook/Google等SSO,但我很难在Microsoft资源中找到任何这样的例子,或者任何可以实现这一点的库。我描述的是一个有效的用例,并且可以通过Azuer AD身份验证来实现吗?
发布于 2021-09-22 07:41:56
使用Microsoft Graph使用PHP进行Azure AD身份验证非常简单。我有a single PHP page as a proof of concept,你可以直接放在Azure App Service上试用。
发布于 2021-09-22 09:59:15
方法1:基本上,要通过Azure AD从PHP应用程序访问资源,您可以参考Web Application to Web API
要将Azure AD集成到PHP web应用程序中,我们需要遵循授权码授权流程步骤来构建几个自定义HTTP请求。例如,要通过OAuth 2.0协议获取访问令牌,我们应该参考Authorization Code Grant Flow上的步骤。一般情况下,我们会构建两个HTTP请求来获取访问令牌:


请查看此PHP test project以供参考
方法2:
请参考github代码:https://github.com/CoasterKaty/PHPAzureADoAuth
尝试执行以下步骤

2)创建应用注册后,复制客户端ID和租户ID,粘贴到config.inc中的和_OAUTH_CLIENTID中。_OAUTH_SERVER条目应为login.microsoftonline.com URL,但将TENANT_ID替换为您的目录(租户) ID

3)添加新密钥,并选择合适的时间。别忘了,你需要在它到期之前更新它,所以在你的日历上做个笔记。完成后,复制密码值并将其粘贴到config.inc中的_OAUTH_SECRET中
4)之后,您可以浏览您的应用程序并提示登录。在第一次访问时,系统将要求您允许租户上的每个人拥有权限(假设您拥有适当的管理员权限)。

https://stackoverflow.com/questions/69266268
复制相似问题