2017-08-20 132 views
0

中訪問principalId所以我想在API網關中設置一個自定義授權者。AWS API網關自定義授權人。如何在lambda

我可以讓它將帶有有效標記的請求轉發給API方法中指定的lambda函數。我不知道如何訪問我的授權人傳遞的principalId。

當執行我獲得在雲表日誌中的以下要求:

Authorizer result body before parsing: 
{ 
    "principalId": "16", 
    "policyDocument": { 
    "Version": "2012-10-17", 
    "Statement": [ 
     { 
     "Condition": {}, 
     "Action": "execute-api:Invoke", 
     "Resource": [ 
      "arn:aws:execute-api:eu-central-1:****:***/null/*/*" 
     ], 
     "Effect": "Allow" 
     }, 
     { 
     "Condition": {}, 
     "Action": "execute-api:Invoke", 
     "Resource": [], 
     "Effect": "Deny" 
     } 
    ] 
    } 
} 

那麼,如何訪問principalId在我的lambda函數?對象是否傳遞給lambda?如果不是,我怎麼得到至少principalId通過?

回答

1

principalId可以(並且默認爲)被轉發到Lambda實現。根據您的映射,principalId應該出現在上下文變量中。

您可以使用$ context.authorizer.principalId變量訪問映射模板中的principalId值。如果你想將值傳遞給後端,這很有用。有關更多信息,請參閱訪問$ context變量。

Use API Gateway Custom Authorizers

+0

感謝。我沒有任何映射,現在完美工作。 – ppgcc74

相關問題