feat: Implement OAuth license activation flow
- Add LicenseConnect.tsx focused OAuth confirmation page in customer SPA - Add /licenses/oauth/validate and /licenses/oauth/confirm API endpoints - Update App.tsx to render license-connect outside BaseLayout (no header/footer) - Add license_activation_method field to product settings in Admin SPA - Create LICENSING_MODULE.md with comprehensive OAuth flow documentation - Update API_ROUTES.md with license module endpoints
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* Licensing Module Settings
|
||||
*
|
||||
@@ -9,19 +10,22 @@ namespace WooNooW\Modules;
|
||||
|
||||
if (!defined('ABSPATH')) exit;
|
||||
|
||||
class LicensingSettings {
|
||||
|
||||
class LicensingSettings
|
||||
{
|
||||
|
||||
/**
|
||||
* Initialize the settings
|
||||
*/
|
||||
public static function init() {
|
||||
public static function init()
|
||||
{
|
||||
add_filter('woonoow/module_settings_schema', [__CLASS__, 'register_schema']);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Register licensing settings schema
|
||||
*/
|
||||
public static function register_schema($schemas) {
|
||||
public static function register_schema($schemas)
|
||||
{
|
||||
$schemas['licensing'] = [
|
||||
'license_key_format' => [
|
||||
'type' => 'select',
|
||||
@@ -88,8 +92,24 @@ class LicensingSettings {
|
||||
'min' => 1,
|
||||
'max' => 30,
|
||||
],
|
||||
'activation_method' => [
|
||||
'type' => 'select',
|
||||
'label' => __('Activation Method', 'woonoow'),
|
||||
'description' => __('How licenses are activated. OAuth requires user login on your site (anti-piracy).', 'woonoow'),
|
||||
'options' => [
|
||||
'api' => __('Simple API (license key only)', 'woonoow'),
|
||||
'oauth' => __('Secure OAuth (requires account login)', 'woonoow'),
|
||||
],
|
||||
'default' => 'api',
|
||||
],
|
||||
'allow_product_override' => [
|
||||
'type' => 'toggle',
|
||||
'label' => __('Allow Per-Product Override', 'woonoow'),
|
||||
'description' => __('Show activation method field on each product for individual customization', 'woonoow'),
|
||||
'default' => false,
|
||||
],
|
||||
];
|
||||
|
||||
|
||||
return $schemas;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user