Cognitoの認証情報はsecretではない
#WIP
こういうコードを書くと誰でも見れる状態になってしまう
code:src/features/auth/config.ts
import { browserEnv } from 'app/src/features/env/browser';
export const awsConfig = {
identityPoolId: browserEnv.NEXT_PUBLIC_COGNITO_IDENTITYPOOLID,
region: browserEnv.NEXT_PUBLIC_COGNITO_REGION,
userPoolId: browserEnv.NEXT_PUBLIC_COGNITO_USERPOOLID,
userPoolWebClientId: browserEnv.NEXT_PUBLIC_COGNITO_USERPOOLWEBCLIENTID,
};
NEXT_PUBLICを付けているということは、clientにも配信されることを意味する
そもそもそこで指定している情報はsecretなのかどうか
identity pool id
region
user pool id
user pool web client id
The identity pool is not secret. ref
secretではないらしい
https://stackoverflow.com/a/62711877
user pool idやapp client idはsecretではない
https://github.com/amazon-archives/amazon-cognito-identity-js/issues/312#issuecomment-282625135
user idとclient idは漏れても大丈夫的なことを言っている
ユーザ削除できるくない?と思ったけどそんなことないかmrsekut.icon
ログインしないとそういった操作は行えない
「任意のユーザを消す」のような処理はできない
機械的にアカウントを作りまくるスクリプトとかは書けてしまう
「ユーザー一覧のリストを取得する」とかはそもそも無理か
.envに書いてるのは、.envで環境ごとに異なる変数を扱うからであって、秘匿情報だからというわけではない
https://aws.amazon.com/ko/blogs/mobile/how-amazon-cognito-keeps-mobile-app-users-data-safe/