国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

Laravel:Shopify 標(biāo)頭數(shù)組中缺少授權(quán)金鑰
P粉448346289
P粉448346289 2024-01-10 16:31:03
0
1
586

我是 Shopify 應(yīng)用程式開發(fā)新手。我使用 shopify 提供的 php 模板開發(fā)了一個(gè)應(yīng)用程式。它使用 Laravel 和 React。這是 https://github.com/Shopify/shopify-app-template-php/tree/cli_third

當(dāng)我執(zhí)行 npm run dev 時(shí),該應(yīng)用程式正在開發(fā)商店中運(yùn)行。

然後,我使用一個(gè)網(wǎng)域(例如:sub.mydomain.com)在 AWS 伺服器上部署了我的應(yīng)用程式。

然後我在商店中安裝了應(yīng)用程式。

頁(yè)面正在應(yīng)用程式中呈現(xiàn)。但我在發(fā)出任何 GET 或 POST 請(qǐng)求時(shí)收到 500 錯(cuò)誤。

經(jīng)過調(diào)試,我發(fā)現(xiàn)這行程式碼 $session = Utils::loadCurrentSession($request->header(), $request->cookie(), $isOnline); 拋出異常,錯(cuò)誤是:

ShopifyExceptionMissingArgumentException {#334
#message: "Missing Authorization key in headers array"
#code: 0
#file: "/var/www/html/shopify-project/web/vendor/shopify/shopify-api/src/Auth/OAuth.php"

但是在請(qǐng)求的 header 中,有授權(quán)碼:

:authority: sub.mydomain.com
:method: GET
:path: /api/view-id
:scheme: https
accept: */*
accept-encoding: gzip, deflate, br
accept-language: en-US,en;q=0.9,ne;q=0.8
authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJodHRwczpcL1wvcW9kZWFuYWx5dGljcy5teXNob3BpZnkuY29tXC9hZG1pbiIsImRlc3QiOiJodHRwczpcL1wvcW9kZWFuYWx5dGljcy5teXNob3BpZnkuY29tIiwiYXVkIjoiNDBhYWM4OWM0Yzc4YmJlMjE5ZDBmMWY3NWExZjJhZTciLCJzdWIiOiI4NDM4NjcwOTc2MSIsImV4cCI6MTY1NzgxOTUyOSwibmJmIjoxNjU3ODE5NDY5LCJpYXQiOjE2NTc4MTk0NjksImp0aSI6ImRhZTI1ZjViLWIxODgtNGZkOS05MjcwLWNkOWNlODQ3MDIyZCIsInNpZCI6IjJmNTJkOTcxNTgxMDc5YmYxYmI0NDNlZWY5MGM2YTI2OGEyMmRkY2ZlZmRhMDc2YzE4NTM5OGY3YzU4ZDJmYTgifQ.ASJOsmBb4kMZz-QiRzg60pzvwDaj4w5DbZRO8mcWt1U
cache-control: no-cache
pragma: no-cache
referer: https://sub.mydomain.co/setup? hmac=633d1f9577273c7e7281dba9ca206037100dckjlkjb45ac7271674691acc6f7e6b3da&host=cW9kZWFuYWx5dGljcy5teXNob3BpZ54654nkuY29tL2FkbWlu&locale=en&session=78bbfd9e29b55c907762eba75a4a759f0691572c1f4661500f0d6d4ff6a54d86&shop=mystore.myshopify.com&timestamp=1657819465
sec-ch-ua: " Not A;Brand";v="99", "Chromium";v="99", "Google Chrome";v="99"
sec-ch-ua-mobile: ?0
sec-ch-ua-platform: "Linux"
sec-fetch-dest: empty
sec-fetch-mode: cors
sec-fetch-site: same-origin
user-agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.82 Safari/537.36
x-requested-with: XMLHttpRequest

我相信,這是由於 iframe 發(fā)送的請(qǐng)求所致。誰(shuí)能告訴我應(yīng)該做什麼才能允許這個(gè)請(qǐng)求?

P粉448346289
P粉448346289

全部回覆(1)
P粉937382230

我找到了解決方案! 實(shí)際上,我使用的 Laravel 模板 沒有public 資料夾內(nèi)的 .htaccess 檔案。我必須手動(dòng)添加它。

在新增 .htaccess 檔案時(shí),它只有以下程式碼:

RewriteEngine on

RewriteCond  !^(index.php|resources|robots.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/ [L,QSA]

且授權(quán)程式碼未到達(dá) Lararvel 應(yīng)用程式。

我必須在 .htaccess 檔案中加入此程式碼:

RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

.htaccess 檔案中的最終程式碼是:

RewriteEngine on

RewriteCond  !^(index.php|resources|robots.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/ [L,QSA]

RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

然後,所有請(qǐng)求開始工作。

最新下載
更多>
網(wǎng)站特效
網(wǎng)站源碼
網(wǎng)站素材
前端模板