我与一组现有用户构建并维护了一个 PHP Web 应用程序。身份验证是应用程序内的用户名密码。
现在需要通过现有的 Azure AD 帐户向大量新用户提供访问权限。客户端希望这些用户能够使用他们的 Azure 身份登录。现有用户将继续按照目前的方式进行身份验证。
我认为这与 Facebook/Google 等 SSO 类似,但我正在努力在 Microsoft 资源或任何支持此功能的库中找到任何示例。我所描述的用例是有效的,并且可以通过 Azuer AD 身份验证来实现吗?
最佳答案
方法1:基本上,要从PHP Web应用程序通过Azure AD访问资源,您可以引用Web Application to Web API
要将 Azure AD 集成到 PHP Web 应用程序中,我们需要遵循授权代码授予流程步骤来构建多个自定义 HTTP 请求。例如。要通过OAuth 2.0协议(protocol)获取访问 token ,我们应该引用Authorization Code Grant Flow上的步骤。 。一般来说,我们会构建2个HTTP请求来获取访问 token :
- 请求授权代码。
请检查此PHP test project供您引用
方法 2:
请引用此github代码:https://github.com/CoasterKaty/PHPAzureADoAuth
尝试执行以下步骤
- 创建应用注册 Azure AD > 应用注册,然后单击“新建注册”。
2)创建应用注册后复制客户端ID和租户ID,将其粘贴到配置中的_OAUTH_SERVER和_OAUTH_CLIENTID中.inc。 _OAUTH_SERVER 条目应为 login.microsoftonline.com URL,但将 TENANT_ID 替换为您的目录(租户)ID
3)添加新的 secret 并选择适当的时间。不要忘记您需要在过期之前进行更新,因此请在日历中记下。完成后,复制 secret 值并将其粘贴到 config.inc 内的 _OAUTH_SECRET
4) 之后,您可以浏览到您的应用程序并提示登录。第一次登录时,系统会要求您授予租户中每个人的权限(假设您具有适当的管理权限)。
关于php - 我可以在现有 PHP 应用程序中实现 Azure AD 身份验证吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69266268/