点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
你好
根据我旧问题:
POST/authorizationserver/oauth/token?client_id = ***&client_secret = ***&grant_type = client_credentials
我有200:
{
" access_token":" d139215c-e2ca-45ca-910d-13dcc5e9b407",
" token_type":"承载者",
" expires_in":38072,
" scope":"基本openid"
}
...以及接下来我要使用access_token检索引用的产品:
GET/rest/v2/{{baseSiteId}}/products/300611184/references?referenceType = ACCESSORIES&access_token = d139215c-e2ca-45ca-910d-13dcc5e9b407
...我得到200个参考产品:
{
"参考":[
{
" referenceType":" ACCESSORIES",
"目标":{
" availableForPickup":是的,
" baseOptions":[
{
"选项":[
{
"代码":" 300611196",
" priceData":{
...
但是,我的用户登录后,出现AccessDeniedError错误。 情况如下:
POST/authorizationserver/oauth/token?client_id = ***&client_secret = ***&grant_type = password&username = ***&password = ***
我有200个另一个access_token:
{
" access_token":" ef6d3337-b1ea-4b24-b8ef-28526afe526e",
" token_type":"承载者",
" refresh_token":" 281abf8d-550b-4256-a44b-e7427bf61d03",
" expires_in":37886,
" scope":"基本openid"
}
当我尝试使用新的access_token检索引用的产品时:
/rest/v2/{{baseSiteId}}/products/300611184/references?referenceType = ACCESSORIES&access_token = ef6d3337-b1ea-4b24-b8ef-28526afe526e
我收到401 AccessDeniedError:
{
"错误":[
{
" message":"访问被拒绝",
" type":" AccessDeniedError"
}
]
}
环境是Hybris 6.6(OOTB),B2C加速器,英国服装网站,注册的客户已分配给标准"客户组"角色。 我的OAuth客户端具有ROLE_TRUSTED_CLIENT角色。
问题是:
-
为什么权限较宽的用户(注册客户端)无法访问资源,权限较窄的用户(匿名)可用
-
我应该将注册客户分配给任何其他特定组以查看参考产品吗?
-
注册的客户端"引用"请求可能需要任何未配置的推荐规则引擎?
-
还有其他建议吗?
嗨
看起来参考端点仅适用于ROLE_TRUSTED_CLIENT。
当您获得具有ROLE_TRUSTED_CLIENT的OAuth客户端令牌(grant_type = client_credentials)时,您可以访问此端点。
当您获得用户令牌(grant_type = password)时,您的角色将从该用户所属的组中获取,例如 ROLE_CUSTOMERGROUP(因此在这种情况下,您没有ROLE_TRUSTED_CLIENT)
要解决此问题,您可以在以下位置更改端点权限:ycommercewebservices/web/src/de/hybris/platform/ycommercewebservices/v2/controller/ProductsController.java
您可以删除安全的注释(然后该终结点将对所有人可用)或添加需要的角色。
Kinga,
谢谢您的回答,我会尝试使用您的建议。
亲切的问候。
一周热门 更多>