眠気.jl

投稿=不定期

AmplifyでホストしてるNext.jsにCognito認証を追加した(備忘録)

Basic認証はAmplifyの画面ポチポチすればできますが、Cognitoでユーザ認証したかったため。

やりたいこと

↓pagePropsに認証つけたい、認証通ってる場合はサインアウトボタン出したい

  return <Component {...pageProps} />

amplify設定済みです

❯ amplify add auth
Using service: Cognito, provided by: awscloudformation
 
 The current configured provider is Amazon Cognito. 
 
 Do you want to use the default authentication and security co
nfiguration? Default configuration
 Warning: you will not be able to edit these selections. 
 How do you want users to be able to sign in? Username
 Do you want to configure advanced settings? No, I am done.
✅ Successfully added auth resource [アプリ名] locally

✅ Some next steps:
"amplify push" will build all your local backend resources and provision it in the cloud
"amplify publish" will build all your local backend and frontend resources (if you have hosting category added) and provision it in the cloud

...

amplify push

add auth, pushしてから

return (
      <AmplifyAuthenticator>
        <Component {...pageProps} />
        <AmplifySignOut />
      </AmplifyAuthenticator>);

でできました。 AWSすごい、靴なめます。

signin
signout

そもそもCognito使わないほうがいいかも

バックアップとリストア機能がなかったりセッションが長く持たなかったりで本番には向かないかもしれません。
内輪で試すときはCognitoで、本番はAuth0とかがいいんですかね?なにもわかりません...
アンチコメント歓迎しているので誰か教えてください。

AWS Cognito: Don’t go to production | by Warren Parad | Authress | Medium

Serverless: 3 things AWS Cognito needs to be production ready | by CBernardes | JavaScript in Plain English

Cognitoのバックアップ取る野良パッケージはあるようです。

GitHub - mifi/cognito-backup: CLI for backing up AWS Cogntito User Pools

その他

現在バージョン指定なしで入るaws-amplify/ui-reactは2.18.0ですが、動かなかったので1.2.5に下げました。
2.18.0に合わせるべきかもしれませんが、公式コピペでとりあえずやってみたかったので下げました。

日記

1

ルンバ様の通り道開けるために荷解きとリビングの掃除しました、偉いですか?
引っ越して一年ぐらいなのでそろそろ荷解きと掃除終わらせたい....

2

あと12日実質Kindle半額キャンペーンやってて萎えました、物理本買ったらKindleが安くなることがあって悲しい。
みんなうっかりKindleが垢BANされますように!ろいより。
AWSコンテナ設計・構築[本格]入門

3

CloudFormationのスタックを削除するときは,文言通りdeleteを入れれば削除できました。
placeholderが偽のようです。S3のバケット削除画面では「バケット名」を入れろと言いつつ「完全に削除」(placeholder)を入力すると消せたりしたので、疑いすぎて脳がバグりました

日記

1

ダンボールをめちゃくちゃ捨てました

2

AlexaとSwitchBotを多少設定しました

その他

このチュートリをUbuntuでやってたら, prisma generateでコケて vercel.com

> prisma generate

Error: Unknown binaryTarget debian-openssl-3.0.x and no custom binaries were provided

調べたらデフォで入ったprisma, prisma clientは3.8.1ではまだOpenSSL3.0.x対応してなかったようです。
package.jsonprisma3.13.0にしてnpm i再度実行したら解決しました。

"prisma": "^3.13.0",
"@prisma/client": "^3.13.0",

next dev

...
✔ Generated Prisma Client (3.13.0 | library) to ./node_modules/@prisma/client in 114ms
You can now start using Prisma Client in your code. Reference: https://pris.ly/d/client
...

同じ現象っぽい方

github.com

issue github.com

Ubuntu22.04LTSでKindle for Windowsの起動できました(備忘録)

バージョンのメモ

❯ wine --version
wine-7.7 (Staging)
KindleForPC-installer-1.36.65107.exe

その他

{wineのバージョン}×{kindle.exeのバージョン}の相性バトルを無限回やり直すことを覚悟してたんですが、あんなり素直に動いて逆に不安になりました。
あと22.04にあげたら、snap installしたslackでも日本語打てました。これもSDGsの一環ですねすばらしい。

日記

日記

トイレがトイレットペーパーの芯で散らかってたのでなんとか拾ってゴミに出しました。
芯なしペーパーにしたのでもう大丈夫です。

鶏むねを1.5kg鶏ハムにしました。

Ubuntu22.04にあげました(備忘録)

入れたのとかメモ

docker, docker compose, minikube, kubectl, kind, aws-cli v2

さよならdocker-compose、こんにちはdocker compose

dockerのインストール
sudo apt install docker.io
docker composeのインストール
DOCKER_CONFIG=${DOCKER_CONFIG:-$HOME/.docker}
mkdir -p $DOCKER_CONFIG/cli-plugins
curl -SL https://github.com/docker/compose/releases/download/v2.4.1/docker-compose-linux-x86_64 -o $DOCKER_CONFIG/cli-plugins/docker-compose
chmod +x $DOCKER_CONFIG/cli-plugins/docker-compose

dockerを一般ユーザでも使えるようにするやつ(dockerグループに追加), 再度ログイン

sudo usermod -aG docker ${USER}
minikubeのインストール
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
sudo install minikube-linux-amd64 /usr/local/bin/minikube
kubectlのインストール
curl -LO "https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl"
chmod +x ./kubectl
sudo mv ./kubectl /usr/local/bin/kubectl
kindのインストール
curl -Lo ./kind https://kind.sigs.k8s.io/dl/v0.12.0/kind-linux-amd64
chmod +x ./kind
sudo mv ./kind /usr/local/bin/kind
aws-cliのインストール
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install

確認

$ docker -v; docker compose version; minikube version; kubectl version --client; kind --version; aws --version
Docker version 20.10.12, build 20.10.12-0ubuntu4
Docker Compose version v2.4.1
minikube version: v1.25.2
commit: 362d5fdc0a3dbee389b3d3f1034e8023e72bd3a7
Client Version: version.Info{Major:"1", Minor:"23", GitVersion:"v1.23.6", GitCommit:"ad3338546da947756e8a88aa6822e9c11e7eac22", GitTreeState:"clean", BuildDate:"2022-04-14T08:49:13Z", GoVersion:"go1.17.9", Compiler:"gc", Platform:"linux/amd64"}
kind version 0.12.0
aws-cli/2.6.0 Python/3.9.11 Linux/5.15.0-27-generic exe/x86_64.ubuntu.22 prompt/off

その他

サードパーティー云々にチェック入れてインストールしたら、nvidia-smi通ってました

$ nvidia-smi
Fri Apr 29 23:07:31 2022       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 510.60.02    Driver Version: 510.60.02    CUDA Version: 11.6     |
|-------------------------------+----------------------+----------------------+

(なんで?Ubuntuがこんなに親切なはずがない)

コンテナ完全理解者になりたい。
引っ越してそろそろ一年なので、荷解きの完了が見えてきました。
オタク各位遊びに来てください。

参考

Ubuntu 20.04へのDockerのインストールおよび使用方法 | DigitalOcean
kubectlのインストールおよびセットアップ | Kubernetes
minikube start | minikube
kind – Quick Start
Installing or updating the latest version of the AWS CLI - AWS Command Line Interface

日記

今日は何もできませんでした。申し訳ない。😢
ザリガニ食べました(後述)

中国人差別で有名な企業が日本の漫画とコラボシャツ出してるらしくて面白いと思いました。
どうせならアジア各国を差別し散らかしてアジア市場から撤退すればいいやろい!😁
領域展開...〇人至上主義...😁🤞🏻
って僕の中のろいさんが言ってました。

VSCode-LeetCodeのsession expired治した備忘録

marketplace.visualstudio.com

現象

VSCodeから拡張機能経由でLeetCodeにログイン、問題閲覧
×Testを投げると下記のエラー文で弾かれる

[ERROR] session expired, please login again [-1]

対処法

LeetCode Extensionのアイコンを選択した状態でSign Inを再度やったらなぜか治った

その他

ブラウザとVSCodeで二重ログインしても問題ない。
VSCodeでLeetCodeを選択してSign in...->問題表示、となっても実際にはログインしていないことがある。

我中国語不可能解読!!我要求英語issue起票!!
登录不上,[ERROR] session expired, please login again [-1] · Issue #94 · skygragon/leetcode-cli · GitHub