使用 Azure AD B2C 与外部进程建立可复原接口
在本文中,请找到有关如何规划和实现 RESTful API 的指南,使应用程序更能抵御 API 故障。
确保在合适位置放置 API
使用 Identity Experience Framework (IEF) 策略,通过 RESTful API 技术配置文件来调用外部系统。 IEF 运行时环境不会控制外部系统,这是潜在的故障点。
使用 API 管理外部系统
调用接口以访问某些数据时,请确认这些数据是否将驱动身份验证决策。 评估这些信息是否对应用程序的功能至关重要。 例如,电子商务与辅助功能(比如管理)。 如果身份验证不需要该信息,请考虑将调用移至应用程序逻辑。
如果用于身份验证的数据相对静态且较小,并且不应外部化,请将其放在目录中。
尽可能从预验证路径中删除 API 调用。 如果无法这样做,请为 API 启用保护措施,以防拒绝服务 (DoS) 和分布式拒绝服务 (DDoS) 攻击。 攻击者可以加载登录页面,试图用 DoS 攻击淹没 API,并禁用应用程序。
Azure AD B2C RESTful API 技术配置文件不提供任何缓存行为。 相反,RESTFul API 配置文件实现了策略中内置的重试逻辑和超时。
对于需要写入数据的 API,请使用任务让后台工作人员执行这些操作。 使用 Azure 队列等服务。 这种做法可令 API 高效返回,从而提高策略执行性能。
API 错误
由于 API 位于 Azure AD B2C 系统之外,因此请在技术配置文件中启用错误处理。 确保用户了解情况并且应用程序能够妥善处理故障。
处理 API 错误
由于 API 可能会因各种原因而失败,请让你的应用程序具备应对能力。 如果 API 无法完成请求,则返回 HTTP 4XX 错误消息。 在 Azure AD B2C 策略中,尝试处理 API 不可用的问题,可能会呈现更精简的体验。
妥善处理暂时性错误。 使用 RESTFul API 配置文件为各种断路器配置错误消息。
监视和使用持续集成和持续交付 (CICD)。 轮换技术配置文件引擎使用的 API 访问凭据,例如密码和证书。
API 管理最佳做法
部署 REST API 并配置 RESTful 技术配置文件时,请使用以下最佳做法来避免常见错误。
API 管理
API 管理 (APIM) 可发布、管理和分析 API。 APIM 可处理身份验证,以实现对后端服务和微服务的安全访问。 使用 API 网关可横向扩展 API 部署、缓存和负载均衡。
建议获取正确的令牌(而不是为每个 API 调用多次),并保护 Azure APIM API。