微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

One Login Open ID Connect 工作流程,如何启用 Duo Security MFA

如何解决One Login Open ID Connect 工作流程,如何启用 Duo Security MFA

目前我们有 Open ID Connect 身份验证工作流程,One Login 工作正常,并且能够通过自定义站应用程序登录用户,无需浏览器(自定义 UI)。现在需要通过 Duo Security 启用 MFA。 我们在 One Login 方面启用了 Duo Security Authentication Factor,当用户通过浏览器登录时,它会按预期工作 => 用户可以选择“向我发送推送”。现在我们需要以编程方式实现相同的工作流程:

  1. 我们遵循了此处概述的示例工作流程调用https://developers.onelogin.com/api-docs/2/multi-factor-authentication/overview

  2. 对于给定的 user_id,我们可以使用 API 版本 1 => https://{{api-domain}}/api/1/users/{{user_id}}/otp_devices 检索注册的身份验证因素列表但不是版本 2 https://api.us.onelogin.com/api/2/users?username=ashley.akua,因为它返回空列表。 v1 api 调用的响应示例:

    "data": {
        "otp_devices": [
            {
                "active": true,"auth_factor_name": "Duo Duo Security","needs_trigger": false,"type_display_name": "Duo Security","default": true,"id": 11223344,"user_display_name": "Duo Security"
            }
        ]
    },"status": {
        "message": "Success","error": false,"type": "success","code": 200
    }
}

现在我们要触发 Duo Security MFA 的推送通知

鉴于“need_trigger”设置为false,我们直接调用verify,主体中没有state_token或otp_token => https://api.us.onelogin.com}/api/1/users/999999/otp_devices/11223344/验证

我们得到以下内容

{
    "status": {
        "message": "Failed authentication with this factor","error": true,"type": "Unauthorized","code": 401
    }
}

在两次调用中,我都尝试使用“管理所有”级别的 API 密钥

现在的问题是,如何从 Open ID Connect 密码授予工作流程触发 Duo Security 推送通知

解决方法

为未来用户的利益添加答案:

  • 首先要通过 OneLogin 或 AWS 的 API 使用 Duo,您需要在 Duo 管理面板上将 Duo 配置为 Duo API
  • One Login 目前不支持 Duo Push auth,仅支持 OTP,我不确定为什么会这样。通过创建会话令牌使用 OTP 和 state_token
  • 为了回答主要问题,Open ID Connect 目前根本不支持 MFA,特别是密码授予 => 在我们的用户案例中,我们没有可以使用的浏览器,因此密码授予是唯一的选择。

我们目前正在评估替代方案,但 One Login API 中没有任何内容可以让我们此时继续前进

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。