Gee*_*ets 5 amazon-web-services aws-lambda aws-api-gateway aws-sam
我有一个Custom Authorizer与API Gateway. SAM Module当通过它部署Options Method时,当您启用CORS. 我真正不明白的是为什么自定义授权者会附加到Options端点?
403当我尝试从浏览器调用端点时,会抛出此异常,而当我Authorization从Options方法中删除时,此异常会正常工作。
下面是template.yaml
AWSTemplateFormatVersion: '2010-09-09'
Transform: 'AWS::Serverless-2016-10-31'
Globals:
Function:
Runtime: nodejs8.10
Api:
Cors:
AllowMethods: "'*'"
AllowHeaders: "'*'"
AllowOrigin: "'*'"
Resources:
TestApi:
Type: AWS::Serverless::Api
Properties:
StageName: dev
Auth:
DefaultAuthorizer: testAuthoriser
Authorizers:
testAuthoriser:
FunctionArn:
Fn::ImportValue: !Sub test-custom-autoriser
Identity:
Header: Authorization
ValidationExpression: ^Bearer [-0-9a-zA-Z\._]*$
ReauthorizeEvery: 30
Version:
Type: 'AWS::Serverless::Function'
Properties:
FunctionName: test
CodeUri: src/test
Handler: index.test
Events:
EndPoint:
Type: Api
Properties:
RestApiId: !Ref TestApi
Path: /test
Method: get
Auth:
Authorizer: testAuthoriser
Run Code Online (Sandbox Code Playgroud)
'Access-Control-Allow-Origin': '*'我也启用了in 标头。不知道这里发生了什么。任何帮助,将不胜感激
这是答案,请参阅此处的aws sam 问题
Api:
Cors:
AllowHeaders: "'Access-Control-Allow-Headers, Origin,Accept, X-Requested-With, Content-Type, Access-Control-Request-Method, Access-Control-Request-Headers, Authorization'"
AllowOrigin: "'*'"
Auth:
DefaultAuthorizer: CognitoAuthorizer
Authorizers:
CognitoAuthorizer:
UserPoolArn: yourUserPool
AddDefaultAuthorizerToCorsPreflight: False // <== this line
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7128 次 |
| 最近记录: |