アカウント構成
yurucommuは、1つのインスタンスを1人のオーナーが管理する形を基本にしています。 ただし、ActivityPub上の人物が1人だけとは限りません。
オーナーとサブアカウント
最初の管理アカウントがインスタンスのownerになります。
オーナーは必要に応じて最大20個のサブアカウントを作成できます。
サブアカウントはmemberとして保存され、元のオーナーに
所有関係がひも付きます。
| 種類 | できること |
|---|---|
| オーナー | インスタンス設定とモデレーションを管理し、サブアカウントを作成 |
| サブアカウント | 独立したプロフィール、投稿、フォロー関係を持つ人物として利用 |
アカウントを切り替える
アカウント一覧には、現在のルートオーナーと、そのオーナーが作成した サブアカウントだけが表示されます。切り替え時は古いセッションを使い回さず、 新しいセッションへ更新します。
サブアカウントに切り替えても、オーナーのOAuthアクセストークンは 引き継がれません。サブアカウントは別の認証情報を持って直接ログインする アカウントではなく、オーナーが管理する切り替え先です。
ログイン方法
- パスワード運用では、設定済みのパスワードでオーナーとしてログインします。 オーナーがまだ存在しない場合は、最初のログイン時に作成されます。
- OIDC/OAuth運用では、オーナーにするsubjectを固定できます。 固定しない初回取得は明示的に許可した場合だけ使います。
- オーナー作成後に外部subjectを新規メンバーとして自動作成する機能は 初期状態では閉じています。運用者が許可リストを設定した場合だけ有効です。
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:[email protected]は、同じ名前のローカルアカウントが
存在するときだけ解決されます。存在しない名前をオーナーの別名として
解決することはありません。公開コミュニティの名前は、該当する
Groupアクターへ解決されます。
「一人用」の意味
ここでいう一人用は「運用責任を持つオーナーが1人」という意味です。 「インスタンスにPersonアクターが1つだけ」「複数の表示名を持てない」 という意味ではありません。