首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我是否可以在现有PHP应用程序中实施Azure AD身份验证

我是否可以在现有PHP应用程序中实施Azure AD身份验证
EN

Stack Overflow用户
提问于 2021-09-21 09:08:41
回答 2查看 481关注 0票数 0

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

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

我认为这应该类似于Facebook/Google等SSO,但我很难在Microsoft资源中找到任何这样的例子,或者任何可以实现这一点的库。我描述的是一个有效的用例,并且可以通过Azuer AD身份验证来实现吗?

EN

回答 2

Stack Overflow用户

发布于 2021-09-22 07:41:56

使用Microsoft Graph使用PHP进行Azure AD身份验证非常简单。我有a single PHP page as a proof of concept,你可以直接放在Azure App Service上试用。

票数 0
EN

Stack Overflow用户

发布于 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请求来获取访问令牌:

  1. 请求授权码。

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

请查看此PHP test project以供参考

方法2

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

尝试执行以下步骤

  1. 创建应用注册Azure AD >应用注册,然后单击新建Azure

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

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

4)之后,您可以浏览您的应用程序并提示登录。在第一次访问时,系统将要求您允许租户上的每个人拥有权限(假设您拥有适当的管理员权限)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69266268

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档