oat-sa / extension-tao-oauth

为OAT平台轻松配置OAuth客户端的扩展。

安装次数: 16,062

依赖项: 3

建议者: 0

安全性: 0

星标: 3

关注者: 50

分支: 1

开放问题: 1

类型: tao-extension


README

为OAT平台轻松配置OAuth客户端的扩展。

设置OAuth

  1. 在主机服务器上运行控制台脚本来生成凭证: php index.php '\oat\taoOauth\scripts\tools\GenerateCredentials' -r $role . (最终的bash内联可能因您的服务器而异);它将返回 $key, $secret 和 $tokenUrl,这些应用于生成认证令牌。这些数据应存储在您的客户端环境中。

响应

Client generated with credentials :
 - client key  : c35b263b78fa20aa560702a232fff5fc
 - client secret  : GSJ2z6xH3E3MelJbXA6AmQeQeYfCRueg3af9a92aba6bfc28559a8c5689adbc87fd901f18b00671e3bc5d5566f5af5e38
 - token url  : https://taotesting.com/taoOauth/TokenApi/requestToken
  1. 如果您的客户端服务器与Tao协作,您可以运行脚本,将凭证导入以允许对主机服务器进行身份验证: php index.php '\oat\taoOauth\scripts\tools\ImportConsumer' -k $key -s $secret -tu $tokenUrl -r $role

使用OAuth身份验证

在生成凭证后,您需要为连接到Tao端点生成令牌。为此,您需要发出请求

curl -X POST \
  https://taotesting.com/taoOauth/TokenApi/requestToken \
  -H 'Accept: application/json' \
  -H 'Cache-Control: no-cache' \
  -H 'Content-Type: application/json' \
  -d 'client_id=c35b263b78fa20aa560702a232fff5fc&client_secret=GSJ2z6xH3E3MelJbXA6AmQeQeYfCRueg3af9a92aba6bfc28559a8c5689adbc87fd901f18b00671e3bc5d5566f5af5e38'

其中 $key$secret 是来自上一个示例的凭证。

它将返回 $access_token$expires,这些应用于生成 Authorization 标头

  {
      "access_token": "hJFpTCo9Bvd30b7eb63ef28af1a7ce081252e9844053a9a4a38112ecb8c41eeedfd58f8907",
      "expires": 1521475157
  }
带有OAuth Authorization 标头的请求

示例

   curl -X GET \
        'https://taotesting.com/taoDeliveryRdf/RestDelivery/getStatus?id=https%3A%2F%2Ftaotesting.com%2Ftao.rdf%23i15203488932024127 \
        -H 'Accept: application/json' \
        -H 'Authorization: Bearer hJFpTCo9Bvd30b7eb63ef28af1a7ce081252e9844053a9a4a38112ecb8c41eeedfd58f8907' \
        -H 'Cache-Control: no-cache' \
        -H 'Content-Type: application/json' \