Open Toyo-Daichi opened 2 years ago
Amplifyでログイン項目を作成する。前提がCognito
を用いることくらいしか決まっていない、、
下記の項目を実施する。
Monthly Active User (MAU)が50名以下だった場合、無料枠で収まる。それ以降は0.0055USDで増加していく。 参考url: https://aws.amazon.com/jp/cognito/pricing/
参考url: https://aws.amazon.com/jp/premiumsupport/knowledge-center/cognito-user-pools-identity-pools/
Cognito
をTerraformを用いて実装する。(別Issue展開)Cognito User/ID Pool
を用いて認証認可をとれるようにする。AWS Amplifyが新しくAuthenticator コンポーネントをリリースしたようなので、こちらで再構築してみる。 なお、Cognito側の設定は同じなのでいじらない。 https://aws.amazon.com/jp/about-aws/whats-new/2021/11/aws-amplify-authenticator-ui-component-react-angular-vue/
認証周りなのでできるだけ早く更新するのが定石らしい、、
→コンポーネントで言うと、AmplifyAuthenticator
からAuthenticator
に代わる。
※from
は、どちらも@aws-amplify/ui-react
の対応
AmplifyAuthenticator
の整理aws-export.js
に、Auth
の情報を埋め込んでおくauthState
を確認してサインインが済んでいないときに、<AmplifyAuthenticator>
ブロックの中に、<AmplifySignIn />
と<AmplifySignUp />
を加える場合とwithAuthenticator
でwrapperする場合がある。
https://zenn.dev/dove/articles/63494de652511c#amplify-auth%E3%83%A9%E3%82%A4%E3%83%96%E3%83%A9%E3%83%AA%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6Authenticator
の整理まず同様に、、
aws-export.js
に、Auth
の情報を埋め込んでおく<Authenticator>
で直接書く場合と、withAuthenticator
でwrapperする場合の2通りがある。
https://ui.docs.amplify.aws/components/authenticator#internationalization-i18n→現状の気持ち的には、後者の方が理解しやすいので、単純に <Authenticator>
で囲んでみる。
Relate commit, but error occured.
AmplifyAuthenticator
からのMigrationは、次のサイトに載っていた!!!
https://ui.docs.amplify.aws/getting-started/migration?platform=react
related commit (simple UI)
関連チケットかどうかは分からないが、サーバーレスの認証周りのため、こちらで記述。
Server Side Rendering (SSR)とClient Side Rendering (CSR)がある。最近のトレンドはSSRで、CSRはphpのLaravelやpythonのdjango、Rubyのruby on railsなどのフレームワークがある。この二つの違いはクライアント側(端末)でレンダリングするか、サーバー側でレンダリングするかの違い。サーバーレスではクライアント側でレンダリングすることになるので、否応なしにSSRを選択することになる。これまでサーバーレスとサーバーを使う有無としては、Lambdaの15分制限などがあったが、セキュリティ面の意味でも判断材料として挙げられると分かった。 CSRでの課題は、JSON Web Token (JWT)が発行された際に他の端末に持ち込んだ場合にログインができてしまうことである。SSRでの課題は、認証をしてからレンダリングするのでサーバー側が実行する権利を持つので問題ないとのこと。
問題点としては下記の通り
現状の気持ち的には、後者の方が理解しやすいので、単純に
<Authenticator>
で囲んでみる。
- [x] 理解向上のため、
withAuthenticator
のラッパーの形も実装できるようにしたい、、!
コンポーネントを真ん中に寄せたい
related commit.
こちらでもできたが、HeaderとFooterの部分的に収めることができない。
理解向上のため、withAuthenticatorのラッパーの形も実装できるようにしたい、、!
ラッパーするようなコンポーネントに整形する必要があり、少し面倒だから挟む形式を採用。
<AmplifyProvider />
でwrapを行うことで、Themingを扱うことで一括で制御をすることができる。
https://ui.docs.amplify.aws/components/authenticator?platform=react#additional-css-styling
You can also override the authenticator's amplify-* classes.
amplify-*
のクラスはスタイリングシートで上書きできるみたい、、!
おそらくAuthenticator
周りの問題と思うので、同じチケットで対応する。
Authenticator
周りで調査する。
起票日:2022.01.31