GitHub
製品モデル・検証中

アカウント構成

yurucommuは、各自が自分用にデプロイして使う1人用のソフトウェアです。 1つのインスタンスの所有者は1人で、用途別のプロフィールと外部の通信相手を持てます。

1人の所有者は製品として守る前提です。現行の共通Coreには、pinのない 初回OIDCログインが同時に進むと複数のownerが成立し得る経路があります。 原子的なowner取得の修正と検証は未完了で、初回導入の一意性を保証済みとは 扱いません。OIDCで導入する場合は、所有者のsubjectを固定して確認します。

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

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

種類 できること
オーナー インスタンス設定とモデレーションを管理し、サブアカウントを作成
サブアカウント 同じ所有者の用途別プロフィール、投稿、フォロー関係として利用

アカウントを切り替える

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

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

サブアカウントの追加は、他の人を共同所有者として登録する操作ではありません。 通信相手やコミュニティの参加者の権限も、インスタンスの所有権限とは異なります。

ログイン方法

ActivityPubから見たアカウント

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

{
  "@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:alice@example.comは、同じ名前のローカルアカウントが 存在するときだけ解決されます。存在しない名前をオーナーの別名として 解決することはありません。公開コミュニティの名前は、該当する Groupアクターへ解決されます。

「一人用」の意味

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