添加 OAuth 提供者
关于 OAuth 2
OAuth 2 是一个开放的授权框架,它代表资源所有者通过 HTTP 为客户端应用程序提供对服务器资源(如 Google、Facebook、GitHub 等)的“安全委托访问”。它可用于为 Web、桌面和移动应用程序构建授权工作流。 使用 Site24x7,您可以生成可用于监控受 OAuth 2 保护的 API 端点的访问令牌。
创建 OAuth 提供者
Site24x7 允许您设置多个 OAuth 提供程序来监控其 API 端点。每个 OAuth 提供者都允许您生成唯一的访问令牌,可用于授权 Site24x7 监控其网站/端点 API。在为 URL、REST API 和 SOAP 工作流配置监控表单时,您可以使用这些预设的 OAuth 访问令牌进行身份验证。要设置 OAuth 提供程序,请按照以下步骤操作:
- 登录到 Site24x7 客户端。
- 导航到管理> 配置文件 > OAuth 提供者。
- 单击添加 OAuth 提供程序按钮。
- 系统将提示您添加一个添加 OAuth 提供程序表单。
- Site24x7 支持三种类型的授权流程:
- 授权码:这种类型的授权由服务器端应用程序使用
- 客户端凭证:与应用程序 API 访问一起使用
- 资源所有者密码凭证:由信任的应用程序使用,例如服务本身使用的应用程序。
根据应用程序请求授权的方法以及 API 支持的授权流程,OAuth Provider 表单的呈现方式会有所不同。在 OAuth Provider 表单中提供相关详细信息:
授权码:
- 提供者名称:指定您的 OAuth 应用程序提供者的名称。
- OAuth 流程:将此指定为授权代码
- 授权端点 URL:OAuth 提供者的 API 授权端点。
- 客户端 ID :您在将 Site24x7 注册为客户端时从 OAuth 提供程序收到的唯一字母数字字符串。
- Client secret:Site24x7 在客户端注册过程中获取的密码字符串。
- 重定向 URI:成功授权后发生重定向的 Site24x7 URL。这将自动填充,用户无法修改。
- 范围:指定 Site24x7 可能需要请求访问 OAuth 应用程序的 OAuth 范围。您可以根据监控时所需的访问级别提供多个范围。
https://example.com/v1/oauth2/authorize?response_type=code&client_id= CLIENT_ID &redirect_uri= CALLBACK_URL &access_type=offline&scope= profile - 查询参数:需要附加到授权端点 URL 的附加查询参数“名称-值对”以及标准参数,例如: client_id、redirect_uri 和 response_type。
- 令牌端点 URL:从中检索访问令牌的 OAuth 提供者的 URL。
- 认证请求方法:选择用于向此 OAuth 提供者提交访问令牌的方法。 选择并定义用于传递访问令牌的方法。您始终可以在参数字段中使用自定义命名法。
- 请求标头: 访问令牌作为请求标头发送。以以下名称-值语法传递 Bearer 令牌:
"Authorization: Bearer ${access.token}"
- URI 查询参数:您可以使用以下语法在 URI 查询参数中传递访问令牌:
"access_token=${access.token}"
- 请求标头: 访问令牌作为请求标头发送。以以下名称-值语法传递 Bearer 令牌:
- OAuth 刷新失败告警:当访问令牌连续重试 3 次后仍无法刷新时,将通知所选组中的用户。了解如何创建用户告警组。
客户凭证:
客户端凭证 OAuth Flow 用于应用程序想要访问和更新自己的服务帐户的场景。它可以用于应用程序想要更新注册的描述或重定向 URI,或通过 API 访问其服务帐户中存储的其他数据的场景。
对于此类 OAuth 实施,除了在上述授权代码流程中填充的所有必填字段之外,您还必须在 OAuth 提供者表单中指定以下附加字段。
- OAuth flow:将此字段指定为客户端凭证。
- 身份验证方法: 应用程序可以通过将其客户端 ID 和客户端密码传递给授权服务器来请求访问令牌。这可以使用 基本身份验证(其中凭证在 Authorization 标头中传递)传递,也可以发布在请求正文中。单击单选按钮以使该方法与您的偏好相匹配。
- 请求正文:添加在请求访问令牌时要发送的任何其他参数。
- OAuth 刷新失败告警:当访问令牌连续重试 3 次后仍无法刷新时,将通知所选组中的用户。了解如何创建用户告警组。
资源所有者密码凭证:
当应用程序被用户信任时(即它归服务或用户的桌面操作系统所有),用户可以直接向应用程序提供他们的服务凭证(用户名和密码)以从服务获取访问令牌。对于此类 OAuth 实施,除了在上述授权代码流程
中填充的所有必填字段之外,您还必须在 OAuth 提供者表单中指定以下附加字段 。
- OAuth flow:将此字段指定为 资源所有者密码凭证。
- 资源所有者凭证: 提供资源所有者的用户名和密码。
- 身份验证方法: 应用程序可以通过将其客户端 ID 和客户端密码传递给授权服务器来请求访问令牌。这可以使用 基本身份验证(其中凭证在 Authorization Header 中传递)传递,也可以 发布在请求正文中。单击单选按钮以使该方法与您的偏好相匹配。
- 请求正文:添加在请求访问令牌时要发送的任何其他参数。
- OAuth 刷新失败告警:当访问令牌连续重试 3 次后仍无法刷新时,将通知所选组中的用户。了解如何创建 用户告警组。
6. 单击授权按钮以成功检索访问令牌和刷新令牌(如果由 OAuth 提供者提供)。
OAuth 令牌详细信息
创建 OAuth 提供者的配置文件后,它将自动列在 OAuth 提供者列表下。您将看到提供者名称、使用的 OAuth 流程、访问令牌、刷新令牌(如果提供者提供)和访问令牌过期时间。
- 提供者名称:OAuth 应用程序提供者的名称。
- OAuth Flow:它突出了您的服务用于安全访问的授权方法。根据您配置的配置文件设置,它可能是授权代码、客户端凭证、资源所有者密码凭证。
- 访问令牌:访问令牌用于授权和身份验证,同时获得对 OAuth 提供程序应用程序上资源的访问权限。
- 刷新令牌: 刷新令牌通常与访问令牌一起发送。刷新令牌用于在旧令牌过期之前检索新的访问令牌。
- 访问令牌过期时间:它定义了访问令牌的过期时间。
- 一些访问令牌将没有与之链接的刷新令牌。一旦访问令牌过期,所有关联的监视器将无法进行身份验证。
- 当您有刷新令牌,但连续重试 3 次后仍无法刷新访问令牌时,将触发告警电子邮件以进行快速故障排除。该电子邮件将包含来自授权服务器的响应。
编辑 OAuth 提供者详细信息
您可以编辑 OAuth Provider 的配置详细信息,甚至可以删除 Provider 配置文件。
- 导航到管理 > 配置文件 > OAuth 提供者。
- 单击您要编辑/删除的配置文件。
- 打开的弹出窗口显示编辑和删除选项。单击编辑以修改提供者的详细信息。