支持OAuth2.0认证方式的API数据源

更新时间:
复制为 MD 格式

场景描述

在数据集成和分析过程中,Dataphin需要通过API定期从外部系统获取业务数据。外部系统通常采用动态鉴权机制确保安全性,因此令牌(Token)具有时效性。可在Dataphin中配置API数据源动态获取令牌。

解决方案与功能

Dataphin支持通过OAuth2.0认证方式的API数据源动态获取令牌。

  • 通过OAuth2.0认证方式,客户端能够安全获取具有时效性的访问令牌(Access Token),既能访问用户资源,也不会暴露用户凭证。

  • 获取令牌后,客户端通过在HTTP请求头(Header)中添加Authorization: Bearer <token>进行资源访问。

    API访问请求流程:
      1.客户端首先需要向身份验证服务器发送请求以获取访问令牌。典型请求示例如下:
      POST /oidc/token HTTP/1.1
      Host: api.example.com
      Content-Type: application/x-www-form-urlencoded
      Authorization: Basic BASE64_ENCODED_CLIENT_ID_AND_SECRET
      
      grant_type=client_credentials&
      client_id=EXAMPLE_CLIENT_ID&
      client_secret=EXAMPLE_CLIENT_SECRET
    
      2.在成功获取到访问令牌之后,例如eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...,客户端即可进行API访问,使用该令牌进行授权。请求示例如下:
      GET /data HTTP/1.1
      Host: api.example.com
      Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...

操作步骤

  1. 管理中心 > 数据源管理 > 数据源页面创建一个API数据源。

  2. API数据源对话框中,配置参数。

    • URL地址:填写请求的APIURL地址。

    • 认证方式:选择OAuth2.0。

    • Access Token:指定获取令牌的路径。

    • Access Token的获取配置:

      • 请求方式:OAuth2.0方式一般使用POST请求方法获取或刷新访问令牌,此处选择POST。

      • Token URL:填写令牌请求的URL。

      • 客户端ID和密钥:输入客户端的ID和密钥。

      • 客户端认证:选择传递客户端凭证(客户端ID和密钥等)的方式,根据API提供方的要求和规范进行选择,此处选择在请求头中发送基本认证信息

      • 高级配置:如果Token获取需要额外的参数,可以通过高级配置进行添加,指定参数名、值以及请求位置。

        image

      • 连接测试:完成Access Token获取配置后,进行连接测试以校验配置正确性,可以通过查看返回信息以便进行调整。此处,可以看到返回的信息无误。

        image

  3. 完成OAuth2.0认证方式的API数据源配置后,在进行离线集成时,系统会在每次数据请求前自动根据Access Token配置获取或刷新最新的Token,以确保顺利执行API请求。

    image