【问题标题】:Can I implement Azure AD Authentication into an existing PHP application我可以在现有 PHP 应用程序中实施 Azure AD 身份验证吗
【发布时间】:2021-09-22 17:59:15
【问题描述】:

我使用现有的一组用户构建并维护了一个 PHP Web 应用程序。身份验证是用户名密码,在应用程序内。

现在需要为具有现有 Azure AD 帐户的大量新用户提供访问权限。客户希望这些用户能够使用他们的 Azure 身份登录。现有用户将继续以他们当前的方式进行身份验证。

我认为这类似于 Facebook/Google 等 SSO ,但我正在努力在 Microsoft 资源或任何可以实现此功能的库中找到任何此类示例。我描述的用例是否有效,并且可以通过 Azuer AD 身份验证实现?

【问题讨论】:

标签: php azure oauth-2.0 azure-active-directory


【解决方案1】:

使用 Microsoft Graph 使用 PHP 进行 Azure AD 身份验证非常简单。我有a single PHP page as a proof of concept,您可以直接将其放到 Azure 应用服务上进行试用。

【讨论】:

    【解决方案2】:

    方法一: 基本上,要从 PHP Web 应用程序通过 Azure AD 访问资源,可以参考Web Application to Web API

    要将 Azure AD 集成到 PHP Web 应用程序中,我们需要按照授权代码授予流程步骤来构建多个自定义 HTTP 请求。例如。要通过 OAuth 2.0 协议获取访问令牌,我们应该参考Authorization Code Grant Flow 上的步骤。通常,我们会构建 2 个 HTTP 请求来获取访问令牌:

    1. 请求授权码。

    1. 使用授权码请求访问令牌:

    请查看此PHP test project 以供参考

    方法2

    请参考这个github代码:https://github.com/CoasterKaty/PHPAzureADoAuth

    试试这些步骤

    1. 创建应用注册 Azure AD > 应用注册并单击新建注册。

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

    3)添加一个新的秘密并选择合适的时间。别忘了你需要在它过期之前更新它,所以在你的日历上做个笔记。完成后,复制秘密值并将其粘贴到 config.inc 中的 _OAUTH_SECRET

    4) 之后,您可以浏览到您的应用程序并被提示登录。在您第一次使用时,系统会要求您授予租户中每个人的权限(假设您具有适当的管理员权限)。

    【讨论】:

      猜你喜欢
      • 2022-08-23
      • 1970-01-01
      • 1970-01-01
      • 2019-04-12
      • 2020-03-10
      • 2019-05-28
      • 2022-10-25
      • 2020-12-27
      • 2020-08-21
      相关资源
      最近更新 更多