Skip to main content

LicenseOAuthController

\Benecaster\REST\LicenseOAuthController

Class Free

Handles connecting and disconnecting a show’s licence — POST /license/oauth/start and POST /license/oauth/deactivate.

Constructor Dependencies

Type Description
\Benecaster\License\OAuthInitiator Starts the authorisation flow.
\Benecaster\License\LicenseClient Talks to the licence server.
\Benecaster\License\ShowTokenRepository Stores and clears the per-show site token.
\Benecaster\License\ShowAddonRepository Added by feature/per-show-addon-entitlements. Defaulted, so existing three-argument construction still works.

Notes

Disconnecting a show clears BOTH per-show add-on layers, not just the site token — ShowAddonRepository::delete_show_addons().

Dropping the activation set is deliberate, and the reason is not obvious. A disconnected show can be reconnected to a different licence. A surviving switch-off would then arrive on the new licence with nobody having made it — the customer would see an add-on they now pay for sitting switched off, with no record of who turned it off or when.

The grant cache is dropped for the simpler reason that it is meaningless without a token.