Skip to content

Commit

Permalink
LD-Signatureの別途keyId探索いらない気がする
Browse files Browse the repository at this point in the history
  • Loading branch information
mei23 committed Feb 28, 2024
1 parent 67a97ff commit fbab081
Showing 1 changed file with 2 additions and 10 deletions.
12 changes: 2 additions & 10 deletions src/queue/processors/inbox.ts
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,6 @@ export const tryProcessInbox = async (data: InboxJobData, ctx?: ApContext): Prom
const activity = data.activity;

const resolver = ctx?.resolver || new Resolver();
const dbResolver = ctx?.dbResolver || new DbResolver();

//#region Log
logger.debug(inspect(signature));
Expand Down Expand Up @@ -90,20 +89,13 @@ export const tryProcessInbox = async (data: InboxJobData, ctx?: ApContext): Prom
// また、http-signatureのsignerは、activity.actorと一致する必要がある
if (!httpSignatureValidated || user.uri !== activity.actor) {
// でもLD-Signatureがありそうならそっちも見る
if (!config.ignoreApForwarded && activity.signature) {
if (!config.ignoreApForwarded && activity.signature?.creator) {
if (activity.signature.type !== 'RsaSignature2017') {
return `skip: unsupported LD-signature type ${activity.signature.type}`;
}

// activity.signature.creator: https://example.oom/users/user#main-key
// みたいになっててUserを引っ張れば公開キーも入ることを期待する
if (activity.signature.creator) {
const candicate = activity.signature.creator.replace(/#.*/, '');
await resolvePerson(candicate).catch(() => null);
}
user = await resolvePerson(activity.signature.creator.replace(/#.*/, '')).catch(() => null) as IRemoteUser | null;

// keyIdからLD-Signatureのユーザーを取得
user = await dbResolver.getRemoteUserFromKeyId(activity.signature.creator);
if (user == null) {
return `skip: LD-Signatureのユーザーが取得できませんでした`;
}
Expand Down

0 comments on commit fbab081

Please sign in to comment.