GitHub
現行実装

アカウント構成

yurucommuは、1つのインスタンスを1人のオーナーが管理する形を基本にしています。 ただし、ActivityPub上の人物が1人だけとは限りません。

オーナーとサブアカウント

最初の管理アカウントがインスタンスのownerになります。 オーナーは必要に応じて最大20個のサブアカウントを作成できます。 サブアカウントはmemberとして保存され、元のオーナーに 所有関係がひも付きます。

種類 できること
オーナー インスタンス設定とモデレーションを管理し、サブアカウントを作成
サブアカウント 独立したプロフィール、投稿、フォロー関係を持つ人物として利用

アカウントを切り替える

アカウント一覧には、現在のルートオーナーと、そのオーナーが作成した サブアカウントだけが表示されます。切り替え時は古いセッションを使い回さず、 新しいセッションへ更新します。

サブアカウントに切り替えても、オーナーのOAuthアクセストークンは 引き継がれません。サブアカウントは別の認証情報を持って直接ログインする アカウントではなく、オーナーが管理する切り替え先です。

ログイン方法

ActivityPubから見たアカウント

オーナーと各サブアカウントは、それぞれ別の Personアクターです。個別のinboxoutbox、フォロー関係、公開鍵を持ちます。

{
  "@context": "https://www.w3.org/ns/activitystreams",
  "id": "https://example.com/ap/users/alice",
  "type": "Person",
  "preferredUsername": "alice",
  "inbox": "https://example.com/ap/users/alice/inbox",
  "outbox": "https://example.com/ap/users/alice/outbox",
  "followers": "https://example.com/ap/users/alice/followers",
  "following": "https://example.com/ap/users/alice/following",
  "publicKey": {
    "id": "https://example.com/ap/users/alice#main-key",
    "owner": "https://example.com/ap/users/alice",
    "publicKeyPem": "..."
  }
}

WebFinger

acct:[email protected]は、同じ名前のローカルアカウントが 存在するときだけ解決されます。存在しない名前をオーナーの別名として 解決することはありません。公開コミュニティの名前は、該当する Groupアクターへ解決されます。

「一人用」の意味

ここでいう一人用は「運用責任を持つオーナーが1人」という意味です。 「インスタンスにPersonアクターが1つだけ」「複数の表示名を持てない」 という意味ではありません。