场景
在数据集成和分析过程中,Dataphin可能需要通过API定期从外部系统获取业务数据。这些系统通常采用动态鉴权机制来确保安全性,因此令牌(token)通常具有时效性。那么,我们如何在Dataphin中配置API数据源以动态获取令牌呢?
解决方案及功能
Dataphin已经支持通过OAuth 2.0认证方式的API数据源动态令牌获取。
- 通过这种认证方式,客户端能够安全地获取具有时效性的访问令牌(access token),以访问用户资源而无需暴露用户凭证。
- 获得令牌后,客户端在后续API请求中通过在HTTP请求头部添加 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...
接下来,我们在实际体验一下如何配置此类认证方式的API数据源。
- 进入【管理中心】-【数据源管理】-【数据源】页面,新建API数据源。
- 填写数据源的名称、编码、描述以及选择数据源模式等数据源基本信息。
- 配置连接信息:选择认证方式为OAuth 2.0
- API请求地址:填写请求的API的URL地址
- Access Token路径:指定获取令牌的路径。
- Access Token的获取配置:
- 请求方式:OAuth2.0方式一般使用POST 请求方法获取或刷新访问令牌,此处选择POST。
- Token URL:填写令牌请求的URL。
- 客户端ID和密钥:输入客户端的识别信息。
- 客户端认证方式:选择传递客户端凭证(客户段ID和密钥等)的方式,使用哪种方式通常取决于API提供方的要求和规范,此处我们选择在请求头中发送基本认证信息。
- 高级配置:如果token获取需要额外的参数,可以通过高级配置进行添加,指定参数名、值以及请求位置。
- 连接测试:完成Access Token的获取配置后,进行连接测试以校验配置正确性,可以通过查看返回信息以便进行调整。此处,可以看到返回的信息无误。
- 至此,我们已完成OAuth2.0认证方式的API数据源配置。在进行离线集成时,系统会在每次数据请求前自动根据Access Token配置获取或刷新最新的Token,以确保顺利执行API请求。