openvibers/openvibe.network Commits

Tips grants (Wave 9) and redirect URIs for tips, vip, wiki and blog

OP OpenVibers committed 23 Sept 2026 · 681cdbbef1 · 2 files, +14 −0


Changes

ddiff --git a/server/db/database.js b/server/db/database.js
iindex 9bdecc7a..c360f62c 100644
---- a/server/db/database.js
++++ b/server/db/database.js
@@@ -581,6 +581,12 @@ function initDb(dbPath) {
name: 'OpenVibe.Community',
redirect_uris: ['https://openvibe.community/auth/callback'],
},
++ // Waves 9-16 products with a signed-in UI. Create each with server/setup/service-principal.js
++ // first (secret into its env file); this only adds the redirect URI to that client.
++ { client_id: 'tips', name: 'OpenVibe.Tips', redirect_uris: ['https://openvibe.tips/auth/callback'] },
++ { client_id: 'vip', name: 'OpenVibe.VIP', redirect_uris: ['https://openvibe.vip/auth/callback'] },
++ { client_id: 'wiki', name: 'OpenVibe.Wiki', redirect_uris: ['https://openvibe.wiki/auth/callback'] },
++ { client_id: 'blog', name: 'OpenVibe.Blog', redirect_uris: ['https://openvibe.blog/auth/callback'] },
];
const insert = db.prepare(
'INSERT INTO oauth_clients (client_id, client_secret, name, redirect_uris, is_first_party) VALUES (?, ?, ?, ?, 1)'
ddiff --git a/server/identity/principals.js b/server/identity/principals.js
iindex 3d7c441d..4ecdfda2 100644
---- a/server/identity/principals.js
++++ b/server/identity/principals.js
@@@ -37,6 +37,14 @@ const DEFAULT_GRANTS = [
['tools', 'media.object.read', 'openvibe.media', ['tools']],
['games', 'media.object.upload', 'openvibe.media', ['games']],
['games', 'identity.subject.resolve', SELF_AUDIENCE, []],
++ // Wave 9: Tips starts purchases and transfers in Billing, follows settlement through Events, and
++ // announces delivered tips in the creator's Live chat.
++ ['tips', 'billing.intent.create', 'openvibe.billing', []],
++ ['tips', 'billing.transfer.create', 'openvibe.billing', []],
++ ['tips', 'events.subscription.manage', 'openvibe.events', []],
++ ['tips', 'identity.subject.resolve', SELF_AUDIENCE, []],
++ ['tips', 'live.tips_delivery.write', 'openvibe.live', []],
++ ['live', 'tips.interaction.record', 'openvibe.tips', []],
// Wave 3: producers publish to OpenVibe.Events (their own source only, enforced by Events).
...['live', 'media', 'network', 'community', 'billing', 'chat', 'tools', 'games', 'search', 'sources', 'tips'].map(c => [c, 'events.event.publish', 'openvibe.events', []]),
// Wave 14: Search subscribes to <owner>.index_document.* deliveries.