Я пытаюсь установить уже существующую функцию авторизации в моем приложении .Net Core Web API.
Когда я использую исключительно aws lambda nodejs, файл .yml для этого выглядит следующим образом:
custom:
defaultStage: test
currentStage: ${opt:stage, self:custom.defaultStage}
defaultRegion: us-east-1
currentRegion: ${opt:region, self:custom.defaultRegion}
**defaultAuthorizer**: us-east-1:xxxxxxxx:function:TypeToken-test-Authorizer
**currentAuthorizer**: ${opt:authorizer, self:custom.defaultAuthorizer}
provider:
name: aws
runtime: nodejs6.10
stage: ${self:custom.currentStage}
profile: ${opt:profile, "default"}
region: ${self:custom.currentRegion}
functions:
MyFunctionName:
handler: handlerTestAPI.myFunctionName
events:
- http:
path: myFunctionName
method: post
cors: true
integration: lambda
**authorizer:**
arn: arn:aws:lambda:${self:custom.currentAuthorizer}
resultTtlInSeconds: 0
identitySource: method.request.header.Authorization
type: token
В этом случае файл ASP.NET Core App serverless.template выглядит примерно так:
"Resources" : {
"AspNetCoreFunction" : {
"Type" : "AWS::Serverless::Function",
"Properties": {
"Handler": "Test.API::Project.API.LambdaEntryPoint::FunctionHandlerAsync",
"Runtime": "dotnetcore2.1",
"CodeUri": "",
"MemorySize": 256,
"Timeout": 30,
"Role": null,
"Policies": [ "AWSLambdaFullAccess" ],
"Environment" : {
"Variables" : {
"TestTable" : { "Fn::If" : ["CreateProjectTable", {"Ref":"ProjectTable"}, { "Ref" : "ProjectTableName" } ] }
}
},
"Events": {
"PutResource": {
"Type": "Api",
"Properties": {
"Path": "/{proxy+}",
"Method": "ANY"
}
}
}
}
}
Я искал шаблоны, в которых существующий авторизатор установлен поверх бессерверной функции ядра .net с использованием файла serverless.template, но еще не нашел.
Спасибо за отзыв.