[INVITE] Sistema inviti/licenze B2B + provisioning con invite_token
- InviteController: CRUD inviti (gen, list, show, revoke, rigenera, validate) - Token inv_* sha256-hashed, one-shot o multi-use, canali, scadenza - ServicesController::provision() accetta invite_token al posto di X-Provision-Secret Piano e durata forzati dall'invito, markUsed() chiaamto dopo provisioning riuscito - index.php: routing /api/invites/* aggiunto (controller + action map) - integrazioniext.html: nuovo tab "Inviti & Licenze" con flow completo, endpoints, esempi curl/php, guida lg231 aggiornata con sezione provisioning automatico Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 4.6
parent
6933e1d3fb
commit
612befd66d
@@ -99,6 +99,7 @@ $controllerMap = [
|
||||
'onboarding' => 'OnboardingController',
|
||||
'ncr' => 'NonConformityController',
|
||||
'services' => 'ServicesController',
|
||||
'invites' => 'InviteController',
|
||||
'webhooks' => 'WebhookController',
|
||||
'whistleblowing'=> 'WhistleblowingController',
|
||||
'normative' => 'NormativeController',
|
||||
@@ -296,6 +297,17 @@ $actionMap = [
|
||||
'POST:webhook' => 'webhook',
|
||||
],
|
||||
|
||||
// ── InviteController (licenze/inviti B2B) ──────
|
||||
'invites' => [
|
||||
'POST:create' => 'create',
|
||||
'GET:index' => 'index',
|
||||
'GET:list' => 'index',
|
||||
'GET:{id}' => 'show',
|
||||
'DELETE:{id}' => 'revoke',
|
||||
'POST:{id}/regenerate' => 'regenerate',
|
||||
'GET:validate' => 'validate', // ?token=inv_...
|
||||
],
|
||||
|
||||
// ── ServicesController (API pubblica) ──────────
|
||||
'services' => [
|
||||
'POST:provision' => 'provision',
|
||||
|
||||
Reference in New Issue
Block a user