Skip to content

APIサーバーに管理者機能を実装する #97

@kizahasi

Description

@kizahasi

現時点では、部屋を削除するのは部屋の作成者しかできない。そのため、作って放置された部屋をサーバー管理者が削除する手段がない。これは特に公開サーバーにおいて問題となりそう。そのため、管理者機能を実装して、管理者は部屋を自由に削除できるようにする。

管理者がAPIサーバーを操作する方法

CLIから操作する方法は、以下の問題点がある。

  • ハードルが高い
  • Herokuではおそらく困難?
  • APIサーバーの仕様上、サーバーを落としてからコマンドを実行しなければならない

そのため、ブラウザから操作できるようにしたほうがいい。

管理者と一般ユーザーを区別する方法

管理者機能の実装方法は、以下の2つが考えられる。

  • ADMINのような環境変数に、FirebaseのユーザーUIDを(複数)記述できるようにする。
  • エントリーパスワードと同様に管理者パスワードを実装する。管理者パスワードは環境変数から設定可能にする。
    • 管理者権限が必要なコマンドを実行するたびにパスワードを要求する(毎回要求されることになるので面倒かも)。
    • 管理者となった場合、データベース内のそのユーザーに管理者フラグを立てる。

ToDoリスト

  • APIサーバーで管理者を設定する機能
  • Webサーバーで、自分が管理者かどうかを確認する機能
  • 部屋の削除
  • 内蔵アップローダーのファイル確認、削除(Firebase Storage版アップローダーのファイルを管理者機能を用いて扱うのは仕様上厳しい)
  • その他いろいろ

Metadata

Metadata

Assignees

No one assigned

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions