簡體   English   中英

購物者看不到產品

[英]Shopper cannot see products

完成本 教程 我已經創建了一個買家組織和買家用戶buyer01 ,並且我已經將產品添加到買家的目錄中。 我希望看到buyer01有權訪問該產品。

當我使用buyer01的憑據獲取身份驗證令牌並將 GET 發送到/v1/me時,我得到了這個:

{
    "Buyer": {
        "ID": "BUYER_ORGANIZATION",
        "DefaultCatalogID": "BUYER_ORGANIZATION"
    },
    "Supplier": null,
    "Seller": {
        "ID": "XXXXXXXXXXXXX"
    },
    "ID": "BUYER_USER",
    "CompanyID": "BUYER_ORGANIZATION",
    "Username": "buyer01",
    "Password": null,
    "FirstName": "Buyer",
    "LastName": "User",
    "Email": "buyer@email.com",
    "Phone": null,
    "TermsAccepted": null,
    "Active": true,
    "xp": null,
    "AvailableRoles": [
        "MeAdmin",
        "PasswordReset",
        "Shopper"
    ],
    "Locale": null,
    "DateCreated": "2022-12-21T00:43:53.507+00:00",
    "PasswordLastSetDate": "2022-12-21T00:43:53.543+00:00"
}

但是當我嘗試使用 GET /v1/me/products查看該用戶有權訪問的產品時,我得到了這個:

{
    "Errors": [
        {
            "ErrorCode": "Auth.InsufficientRoles",
            "Message": "User does not have role(s) required to perform this action.",
            "Data": {
                "RequiredRoles": [
                    "Shopper"
                ],
                "AssignedRoles": [
                    "MeAdmin",
                    "PasswordReset"
                ]
            }
        }
    ]
}

為什么第一個請求顯示“購物者”角色存在,而第二個請求顯示它缺失?

我發現了問題。 當我請求buyer01的訪問令牌時,我保留了之前請求管理令牌時的“范圍”設置,假設“購物者”在admin01用戶的記錄范圍設置中:

scope: "CatalogAdmin BuyerReader MeAdmin InventoryAdmin PasswordReset OrderAdmin PriceScheduleAdmin ProductAdmin ProductAssignmentAdmin ShipmentAdmin",

我現在看到它沒有“購物者”,所以當我為買家用戶請求一個具有 記錄范圍設置的新令牌時,我能夠得到 200 響應:

scope: "MeAdmin PasswordReset Shopper",
{
    "Meta": {
        "Facets": [],
        "Page": 1,
        "PageSize": 20,
        "TotalCount": 0,
        "TotalPages": 0,
        "ItemRange": [
            1,
            0
        ],
        "NextPageKey": null
    },
    "Items": []
}

棘手的部分是,即使在第一個請求中返回的用戶權限包含“購物者”,我請求的訪問令牌並未將其包含在范圍內,因此出現 403。

然而,精明的讀者會注意到我仍然沒有看到我的產品。 當我弄清楚部分時,我會更新我的答案。

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

相關問題
 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM