azure-active-directory - 结合自定义注册和 Azure AD?
问题描述
我处于困境中,缺乏可以在我的项目中为我提供指导的经验,并且正在寻求那些拥有 Azure AD、SSO 和联合经验的人的指导。
我正在构建员工自助服务系统并使用 Azure AD 进行身份管理。我希望用户能够使用他们的员工 ID # 和密码登录,而不是他们的电子邮件地址;用户还应该可以选择使用他们的员工 ID # 和其他个人信息注册在线访问 - 他们的 Azure 身份已经由人力资源建立。
登录流程会将用户带到 Microsoft 登录页面,该页面反过来会检测到用户需要通过自定义登录页面登录并将他们重定向到那里。一旦他们登录,我的服务器会将他们的身份传输到 Azure AD,并根据 Azure 应用程序权限授予他们访问权限。
如果可能的话,我真的很困惑如何开始设置它。我知道 XSS,但使用 SAML2 的联合和 SSO 不安全吗?
我是否需要使用联合应用程序作为 Ping Identity 等中间人?
谢谢你的帮助!
解决方案
使用例如 Ping 作为 IDP 通常无济于事,因为 Azure AD 已经是 IDP。
Microsoft Azure AD 登录页面无法通过 API 访问,也无法自定义到您想要的程度。
而且您只能使用电子邮件地址登录,因为它是为加入域的企业客户设计的。
您可以使用 Azure AD B2C 和自定义策略完成很多您需要的事情。这将允许您使用用户名(= 员工 ID)登录,并且您可以创建工作流。
然后,您可以联合 Azure AD 和 Azure AD B2C。
您的另一个选择是使用允许通过 API 进行身份验证的 IDP,例如 Auth0。
然后,您可以有一个自定义登录页面,可以根据需要进行身份验证。
推荐阅读
- node.js - 使用 multer 和 fs 保存 csv 文件
- sharepoint - 通过 PnP 获取 SharePoint Online 网站集使用数据
- docker - 如何在不使用 docker 存储库的情况下在 AKS 中运行 docker 映像
- docker - Docker Drupal 8:错误:找不到指定的 Dockerfile:Dockerfile
- python - 如何将机器人框架测试结果集成到 Kibana
- angular - 升级到 Angular 9 - @angular/flex-layout peer 依赖于 @angular/cdk
- javascript - 如何在 next.js 中设置端口
- c# - 在连接字段上搜索时,实体框架查询速度很慢
- csv - 在 Dynamics 365 中导入数据时,带有特殊字符的字符串值正在修剪
- c# - 在数组中查找最长的时间