Erstellen Sie einen Amazon Cognito Cognito-Authorizer für eine REST-API mit AWS CloudFormation - Amazon API Gateway

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Erstellen Sie einen Amazon Cognito Cognito-Authorizer für eine REST-API mit AWS CloudFormation

Sie können AWS CloudFormation damit einen Amazon Cognito Cognito-Benutzerpool und einen Amazon Cognito Cognito-Autorisierer erstellen. Die AWS CloudFormation Beispielvorlage macht Folgendes:

  • Erstellen eines Amazon-Cognito-Benutzerpools. Der Client muss den Benutzer zunächst beim Benutzerpool anmelden und ein Identitäts- oder Zugriffstoken abrufen. Wenn Sie API-Methodenaufrufe mit Zugrifftokens autorisieren, stellen Sie bei der Konfiguration der App-Integration beim Benutzerpool sicher, dass die für einen bestimmten Ressourcenserver gewünschten benutzerdefinierten Bereiche eingerichtet werden.

  • Erzeugt eine API-Gateway-API mit einer GET-Methode

  • Erstellt einen Amazon-Cognito-Genehmiger, der den Authorization-Header als Token-Quelle verwendet.

AWSTemplateFormatVersion: 2010-09-09 Resources: UserPool: Type: AWS::Cognito::UserPool Properties: AccountRecoverySetting: RecoveryMechanisms: - Name: verified_phone_number Priority: 1 - Name: verified_email Priority: 2 AdminCreateUserConfig: AllowAdminCreateUserOnly: true EmailVerificationMessage: The verification code to your new account is {####} EmailVerificationSubject: Verify your new account SmsVerificationMessage: The verification code to your new account is {####} VerificationMessageTemplate: DefaultEmailOption: CONFIRM_WITH_CODE EmailMessage: The verification code to your new account is {####} EmailSubject: Verify your new account SmsMessage: The verification code to your new account is {####} UpdateReplacePolicy: Retain DeletionPolicy: Retain CogAuthorizer: Type: AWS::ApiGateway::Authorizer Properties: Name: CognitoAuthorizer RestApiId: Ref: Api Type: COGNITO_USER_POOLS IdentitySource: method.request.header.Authorization ProviderARNs: - Fn::GetAtt: - UserPool - Arn Api: Type: AWS::ApiGateway::RestApi Properties: Name: MyCogAuthApi ApiDeployment: Type: AWS::ApiGateway::Deployment Properties: RestApiId: Ref: Api DependsOn: - CogAuthorizer - ApiGET ApiDeploymentStageprod: Type: AWS::ApiGateway::Stage Properties: RestApiId: Ref: Api DeploymentId: Ref: ApiDeployment StageName: prod ApiGET: Type: AWS::ApiGateway::Method Properties: HttpMethod: GET ResourceId: Fn::GetAtt: - Api - RootResourceId RestApiId: Ref: Api AuthorizationType: COGNITO_USER_POOLS AuthorizerId: Ref: CogAuthorizer Integration: IntegrationHttpMethod: GET Type: HTTP_PROXY Uri: http://petstore-demo-endpoint.execute-api.com/petstore/pets Outputs: ApiEndpoint: Value: Fn::Join: - "" - - https:// - Ref: Api - .execute-api. - Ref: AWS::Region - "." - Ref: AWS::URLSuffix - / - Ref: ApiDeploymentStageprod - /