跳到主要内容

这篇文章是给谁看的?

Incydr专业,企业,地平线和政府F2
Incydr基础,高级,和政府F1

的Code42控制台中找到您的产品计划帐户菜单

老师,不。

Incydr Professional, Enterprise, Horizon和Gov F2,是的。

Incydr基础,高级和Gov F1,是的。

首页
开始
发布说明
常见问题
api
系统状态
Code42支持

Code42 API身份验证方法

概述

对Code42 API的大多数请求都必须经过身份验证。本文描述了可用的Code42 API身份验证方法,并提供了使用这些方法的示例。

Code42开发者门户
看到Code42开发者门户获取更多API文档和资源。门户提供:

尽可能多地使用Code42开发者门户来满足您的API需求。门户中的api是Incydr用户与Code42集成的首选方式。如果您使用的Code42 api没有出现在Code42开发者门户上,联系我们的技术支持工程师以获得与Code42集成的最佳方式的指导。

    注意事项

    Code42 API认证方法的比较

    Code42 API提供以下身份验证方法:

    每种认证方式的优缺点如下表所示:

    身份验证方法 优势 缺点
    使用API客户端获取令牌
    • 比基本身份验证性能更好
    • 比使用用户名和密码获得的令牌更安全
      • 利用一个秘密,如果需要可以重置
      • 令牌将在15分钟内到期

    使用基本身份验证

    使用简单
    • 密码可能会保存在工具的历史记录中
    • 不允许版本3的资源使用,除了提供令牌的资源
    • 不赞成在Code42开发人员门户中使用

    使用基本身份验证获取令牌

    • 比基本身份验证性能更好
    • 比基本身份验证更安全
      (代币30分钟到期)
    • 使用起来比基本身份验证更复杂
    • 不如使用API客户端获得的令牌安全
    • 不赞成在Code42开发人员门户中使用

    使用API客户端获取令牌

    要获得一个令牌,首先创建一个API客户端

    创建API客户端并保存客户端ID、secret和基本URL后,提交信息以获取身份验证令牌。令牌只能用于Code42开发者门户中的api

    1. 方法请求令牌/ v1 / oauth资源。
      在下面的例子中(使用curl),替换< ClientID >使用API客户端ID,替换<秘密>使用API客户端秘密,并替换< request_url >请求URL你的Code42云实例(也称为基础URL):
    复制!
    curl -X POST -u ':' -d "" /v1/oauth

    例如:

    curl -X POST -u 'key-79muGw9i424: dl - mpq ' -d "" https://api.us.code42.com/v1/oauth

    成功的请求将返回一个身份验证令牌。例如:

    {“access_token”:“eyJjdHkiO_bxYJOOn28y…5 hgtghgjzhvce8zfy1qrbf_rhcha”,“token_type”:“持票人”、“expires_in”:900}
    1. 在所有API请求中使用身份验证令牌(也称为承载令牌)。例如,下面是一个获取用户列表的API请求:
    curl -X GET 'https://api.us.code42.com/v1/users?active=true&blocked=false&pageSize=100' \ -H "授权:持有人eyJjdHkiO_bxYJOOn28y…5HGtGHgJzHVCE8zfy1qRBf_rhchA"

    有关更多信息,请参见身份验证在Code42开发者门户网站。

    使用基本身份验证

    不建议使用基本身份验证Code42开发者门户中的api.Code42开发者门户之外的api将继续支持基本身份验证。有关此API和其他API弃用的详细信息,请参见Code42 API发布说明

    要使用基本身份验证,请在API请求中包含您的Code42用户名,并在提示时提供您的密码。

    复制!
    Curl -u "username"< request_url >/ api / v1 /电脑

    取代< request_url >连同你的Code42环境的地址(在你的请求中不包括括号):

    您可以对任何版本1或版本4及更高版本的资源以及版本3使用基本身份验证/认证/ jwt资源。

    使用基本身份验证获取令牌

    不建议使用基本身份验证Code42开发者门户中的api.Code42开发者门户之外的api将继续支持基本身份验证。有关此API和其他API弃用的详细信息,请参见Code42 API发布说明

    步骤1:获取令牌

    1. 包含您的Code42用户名得到请求身份验证/jwt并在提示时输入密码。
      复制!
      Curl -u "username" '< request_url >/ api / v3 /认证/ jwt吗?useBody = true”

      取代< request_url >Code42环境的地址(请不要在申请表格内附上括号)。在身份验证请求中使用的请求URL取决于Code42云地址。

      不支持身份验证cookie
      你必须包括? useBody = true中的查询参数身份验证/ jwt 请求在响应体中返回令牌。省略? useBody = true查询参数或使用? useBody = false导致令牌在身份验证cookie中返回,这是Code42 API不支持的。属性的授权头在后续API请求中包含返回的令牌持票人比如Scheme,-H '授权:持票人<标记> '

      如果您的组织使用本地用户双因素认证,你还必须包括一个totp-auth头值,该值包含6至8位的基于时间的一次性密码(TOTP)谷歌身份验证(发送没有TOTP的请求将显示错误消息TIME_BASED_ONE_TIME_PASSWORD_REQUIRED)。下面的示例包含TOTP值424242。

      复制!
      curl -u "username" -H " top -auth: 424242" '< request_url >/ api / v3 /认证/ jwt吗?useBody = true”
    2. 的值从应答中复制v3_user_token.在下面的例子中,它是eyJjdHki…txd546Eg
      {“数据”:{“v3_user_token”:“eyJjdHki…txd546Eg”},“错误”:空,“警告”:零}

    步骤2:在API请求中使用令牌

    在API请求中包含该令牌。例如:

    复制!
    tkn = " eyJjdHki……txd546Eg" curl——头'授权:持有人'$tkn< request_url >/api/v1/User curl——header 'Authorization: holder '$tkn . txt< request_url >/ api / v3 / org/< organizationID >/user curl -H '授权:持有者'$tkn< request_url >/ api / v4 /角色/视图

    取代< request_url >Code42环境的地址(请不要在申请表格内附上括号)。