APIGateway経由で普通にAPIを呼び出す(今まで通り)バックエンドのAPIから新しく新規作成した、GoのPackageに
Authorization HTTP HeaderとURL、パラメータ等を渡し、そのリクエストを本当に処理して良いかを検証する。
最初からいきなりGoのPackageを作るのではなく最初はバックエンドAPIの中に実装して後で認可部分のロジックを別Packageにする。
| FROM golang:1.17-alpine3.14 as build | |
| LABEL maintainer="https://github.com/keitakn" | |
| WORKDIR /go/app | |
| COPY . . | |
| ARG GOLANGCI_LINT_VERSION=v1.42.1 | |
| ARG AIR_VERSION=v1.27.3 |
| async function sha256(text){ | |
| const uint8 = new TextEncoder().encode(text) | |
| const digest = await crypto.subtle.digest('SHA-256', uint8) | |
| return Array.from(new Uint8Array(digest)).map(v => v.toString(16).padStart(2,'0')).join('') | |
| }; |
| resource "aws_security_group" "rds_security" { | |
| name = "${terraform.workspace}-${lookup(var.rds, "${terraform.env}.name", var.rds["default.name"])}-cluster" | |
| description = "Security Group to ${lookup(var.rds, "${terraform.env}.name", var.rds["default.name"])}" | |
| vpc_id = "${lookup(var.vpc, "vpc_id")}" | |
| tags { | |
| Name = "${terraform.workspace}-${lookup(var.rds, "${terraform.env}.name", var.rds["default.name"])}-cluster" | |
| } | |
| ingress { |
| #!/bin/bash | |
| # このshを任意の場所に配置して、core.hooksPathに設定すると全体で利用できます。 | |
| # e.g. /usr/local/etc/git-hooks/ にこのスクリプトを配置した場合 | |
| # git config --global core.hooksPath /usr/local/etc/git-hooks/ | |
| out=$1 | |
| cat $out | |
| function message() { | |
| mv $out $out.tmp | |
| cat <<EOS > $out |