我有一个网站(用PHP构建),Web服务器的操作系统是来自AWS EC2的Linux(Ubuntu),
我想将Azure MFA集成到网站中以使用2FA(2因子身份验证)对用户进行身份验证,
我使用Node JS https://github.com/Azure-Samples/active-directory-node-webapp-openidconnect
检查了此代码这是Azure的示例应用程序,用户可以在其中使用Azure凭据登录示例应用程序,并且可以从Azure提取配置文件信息,
对我来说很好,但是:
1)首先需要在Active Directory(AD)中添加用户,这样我可以直接对用户进行身份验证,而无需在Azure AD上注册吗? 另外,我在网站上有3000多个活跃用户,我需要全部注册吗?
2)用户在身份验证过程中完全重定向到Microsoft网站,是否有任何方法可以不进行重定向,也可以使用一些UI东西(使用弹出窗口)?
任何帮助或建议对我都会有所帮助,
预先感谢, 哈里
答案 0 :(得分:2)
1。它将需要首先在Active Directory(AD)中添加用户吗?
是的,对!首先,您需要在Azure门户上添加用户,然后他们需要进行身份验证,同时他们将尝试访问每个操作中的任何内容。
2。我可以直接对用户进行身份验证,而无需在Azure AD上注册吗?
不,你不能!为了进行身份验证,您需要首先在Azure门户上定义用户。
3。我的网站上有3000多个活跃用户,我需要 全部注册吗?
由于您的网络端有成千上万的用户,因此您可以将其批量添加。 为了避免手动注册,您可以使用Azure PowerShell命令对其进行广告。如果将所有用户添加到CSV文件中,则可以通过以下脚本轻松地将其添加:
拥有所有用户CSV文件后,您可以像以下格式一样运行此New-AzureADUser
命令。
foreach($user in import-csv "E:\userinfo.csv") { Write-Host "Processing item with.. UserName="$user.DisplayName # Make use of variables like $user.DisplayName and so on in your commands here.. # New-AzureADUser -DisplayName $user.DisplayName ... and so on.. }
您可能会以类似的方式详细查看引荐文档here
3。用户在身份验证期间完全重定向到Microsoft网站 流程,是否有任何方法可以不进行重定向,或使用某些UI 东西(使用弹出窗口)?
由于您在此流程中使用OpenIdConnect协议进行身份验证,因此在身份验证过程中无法停止Microsoft网站上的重定向。但是有办法 使用Resource owner password credentials flow
不建议使用 资源所有者密码凭据 在这种情况下流ROPC 。如果用户更像钓鱼网站 不信任您的网络应用。
资源所有者密码凭据 (即用户名和 密码)可以直接用作授权授予,以获取 访问令牌。凭证仅在存在高级别时才使用 资源所有者和客户之间的信任度(例如, 客户端是设备操作系统的一部分,或者是特权很高的客户端 申请),以及其他授权类型不是 可用(例如授权码)
当我们选择 OAuth 2授权框架的交互式流程时,期望重定向到身份提供者,因为这是这样工作的!
希望它会帮助您弄清楚您的解决方法。谢谢!