exports.onExecutePostLogin = async (event, api) => {
if (!event.anonymous_session) return;
const linkedSessions =
event.user.app_metadata?.linked_sessions || [];
// オプション1: リンクされたセッションをすべて保持する
api.user.setAppMetadata('linked_sessions', [
...linkedSessions,
{
user_id: event.anonymous_session.user_id,
linked_at: new Date().toISOString(),
device: event.request.user_agent,
},
]);
// オプション2: 最新のもののみを保持する
api.user.setAppMetadata('last_anonymous_session', {
user_id: event.anonymous_session.user_id,
metadata: event.anonymous_session.metadata,
});
};