Closed kokoichi206 closed 1 year ago
GET /api/rooms
返したい情報(1ルームごと)
ISO8601 の形式にしたい https://github.com/kokoichi206/awesome-chat-app/issues/11#issue-1738576676
response
{
"rooms": [
{
"latest": {
"content": "昨日何食べた?",
"timestamp": "2023-05-31T12:23:11.938+09:00"
},
"name": "あぁの会",
"count": 3
}
]
}
考慮しないこと
GET /api/rooms/:roomID/users
ルームに所属する、ユーザー id とユーザー情報(名前、プロフィール画像)を紐づけるための情報
{
"users": {
"guid0000-0000-0000": {
"name": "わたしの名前",
"profile_image_url": "s3://hogehoge/pien",
"last_read_at": "2023-05-31T12:23:00.938+09:00"
}
}
}
GET /api/rooms/:roomID/messages
messages > user_id
{
"messages": {
[
"user_id": "",
"timestamp": "",
"timestamp": "",
"timestamp": ""
}
}
backend が VerifySessionCookie を呼ぶ。
swagger のドキュメントを見ると、string に対する date-time
のフォーマット指定は RFC3339
らしい。
もしかしたら ISO 8601 で統一する案はそんなよくないかもしれない(メジャーじゃないかも)。。。
ログイン画面
IdP の選択
フロントから
signInWithPopup()
を実行する → firebase auth apiGoogle (各 IdP) が出す画面
アカウントを選択するとGoogleの認証が行われ、ポップアップが閉じる。 それと同時にgetIdToken()を実行し、ID トークンを取得する。 その後、
POST /api/login
→ backend to Firebase Admin SDK セッショントークンを
Set-Cookie
GET /api/users/me
→ Cookie のセッションをとって、admin sdk になげて → backend to Firebase Admin SDK