クライアント側OAuth完結型 + 2つのCloud Functions(generateInviteLink & acceptInvite)
クライアント側処理:
完全サーバーサイド化されたCloud Functions:
saveUserTokens({ accessToken, refreshToken }): 初回トークン保存generateInviteLink({ calendarId }): サーバーでトークン取得・管理acceptInvite({ inviteToken }): 完全自動化セキュリティ特徴: 機密トークンは完全にサーバーサイドで管理、クライアント側に残存しない
https://aircal-6f90d.web.apphttps://aircal-6f90d.firebaseapp.comhttps://aircal-6f90d.firebaseapp.com/__/auth/handler注意: 実際のGoogle APIとFirebase設定を使用するため、適切な設定が必要です。
Firebase Consoleから取得した実際の設定値を入力してください。入力した設定はブラウザに保存されます。
クライアント側でGoogle OAuth認証を完結し、AccessToken + RefreshTokenを取得します。
選択されたカレンダーでクライアント側OAuth情報を使用して招待リンクを生成します。
別のユーザーからの招待URLを受諾してカレンダーに参加します。