oat-sa / extension-tao-oauth
为OAT平台轻松配置OAuth客户端的扩展。
v6.1.1
2024-09-11 08:53 UTC
Requires
- league/oauth2-client: ^2.0
- oat-sa/generis: >=14.0.0
- oat-sa/oatbox-extension-installer: ~1.1||dev-master
- oat-sa/tao-core: >=54.21.0
- dev-master
- v6.1.1
- v6.1.0
- v6.0.4
- v6.0.3
- v6.0.2
- v6.0.1
- v6.0.0
- v5.3.1.1
- v5.3.1
- v5.2.1
- v5.2.0
- v5.1.0
- v5.0.0
- v4.1.1
- v4.1.0
- v4.0.0
- v2.0.0
- v1.1.2
- v1.1.1
- v1.1.0
- v1.0.3
- v1.0.1
- v1.0.0
- v0.2.2
- v0.2.1
- v0.0.6
- v0.0.5
- v0.0.4
- v0.0.3
- v0.0.2
- dev-develop
- dev-release-6.1.1
- dev-fix/FUN-1740/update-dependencies
- dev-feature/sonarqube-integration
- dev-fix/update-autoRelease-action-with-bot-user
- dev-feature/AUT-2995
- dev-release-v5.3.1.1
- dev-backport/ADF-959/fix_cache_issue
- dev-remove-jenkinsfile
- dev-feature/tdr-1/phpunit8_upgrade
- dev-fix/NCC-152/AssignmentsReportKeepsTracksOfAssignment
- dev-feature/NEX-417-reports-not-shown-for-failed-publication
- dev-feature/NEX-320/lti-lis-oauth-validator
- dev-feature/delete-dependency-with-tao-publishing
- dev-fix/remove-unused-code
- dev-fix/default-accept-encoding
- dev-feature/TAO-6107/sprint-73/added-role-for-consumer
- dev-release_0.0.5
This package is auto-updated.
Last update: 2024-09-11 08:53:36 UTC
README
为OAT平台轻松配置OAuth客户端的扩展。
设置OAuth
- 在主机服务器上运行控制台脚本来生成凭证:
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
- 如果您的客户端服务器与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' \