我必須使用AWS API網關和Lambda創建自定義授權。AWS API網關自定義授權人給予異常
我遵循了offical doc上的所有步驟。但在網關端Unauthorized
以下是我遵循的步驟。
1)創建lambda函數(根據github上提供的藍圖)。它將以適當的格式返回policyDocument。這已被 測試以下測試數據 - { "type": "TOKEN", "methodArn": "arn:aws:execute-api:us-west-2:xxxxxxxxxx:fgdfgdfg/null/GET/", "authorizationToken": "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjEyMzQ1Njc4OTAiLCJuYW1lIjoiSm9obiBEb2UiLCJhZG1pbiI6dHJ1ZX0.x8R6LPytDMrPuUBY71skyLBUrkme86DhioN3L7LY_-0" }
2)創建一個API。選擇'創建方法' - >獲取 - > Selet集成類型爲'Lambda函數' - >選擇已在上一步中創建的區域和lambda函數名稱 。
3)點擊授權人(左圖上) - >新建授權者 - >鑑於授權人名稱 - >選擇lambda作爲一個類型 - >選擇Lambda函數 - > Lambda執行角色是具有basix執行角色策略的arn - >有效負載爲令牌 - >令牌源爲'method.request.header.Authorization' - >緩存被禁用。
4)測試認證器並返回
5)我已經部署試圖與郵差調用網址以 '授權:承載' 的API
6)適當的政策。並且輸出是{ 「消息」:「未授權」 }
任何幫助將不勝感激!謝謝。
由於您使用的是郵遞員,您是否可以在問題中發佈郵遞員代碼(轉到「代碼」,然後選擇HTTP或cURL)? – dashmug
你真的使用'Header:Bearer'作爲你的標題之一還是隻是一個錯字?這就是爲什麼我建議你發佈郵件中的東西。 – dashmug
@dashmug這是錯字。我已經在郵遞員 –