oauth_tables.sql 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. -- OAuth客户端表
  2. CREATE TABLE `oauth_clients` (
  3. `id` bigint unsigned NOT NULL AUTO_INCREMENT,
  4. `name` varchar(255) NOT NULL COMMENT '客户端名称',
  5. `client_id` varchar(80) NOT NULL COMMENT '客户端ID',
  6. `client_secret` varchar(80) NOT NULL COMMENT '客户端密钥',
  7. `redirect_uri` text NOT NULL COMMENT '回调地址',
  8. `grant_types` json DEFAULT NULL COMMENT '授权类型',
  9. `scope` json DEFAULT NULL COMMENT '权限范围',
  10. `user_id` bigint unsigned DEFAULT NULL COMMENT '关联用户ID',
  11. `created_at` timestamp NULL DEFAULT NULL,
  12. `updated_at` timestamp NULL DEFAULT NULL,
  13. PRIMARY KEY (`id`),
  14. UNIQUE KEY `oauth_clients_client_id_unique` (`client_id`)
  15. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='OAuth客户端表';
  16. -- OAuth访问令牌表
  17. CREATE TABLE `oauth_access_tokens` (
  18. `id` bigint unsigned NOT NULL AUTO_INCREMENT,
  19. `client_id` varchar(80) NOT NULL COMMENT '客户端ID',
  20. `user_id` bigint unsigned DEFAULT NULL COMMENT '用户ID',
  21. `access_token` varchar(255) NOT NULL COMMENT '访问令牌',
  22. `expires_at` timestamp NULL DEFAULT NULL COMMENT '过期时间',
  23. `scope` json DEFAULT NULL COMMENT '权限范围',
  24. `created_at` timestamp NULL DEFAULT NULL,
  25. `updated_at` timestamp NULL DEFAULT NULL,
  26. PRIMARY KEY (`id`),
  27. UNIQUE KEY `oauth_access_tokens_token_unique` (`access_token`),
  28. KEY `oauth_access_tokens_client_id_index` (`client_id`),
  29. KEY `oauth_access_tokens_user_id_index` (`user_id`)
  30. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='OAuth访问令牌表';
  31. -- OAuth刷新令牌表
  32. CREATE TABLE `oauth_refresh_tokens` (
  33. `id` bigint unsigned NOT NULL AUTO_INCREMENT,
  34. `access_token_id` bigint unsigned NOT NULL COMMENT '关联的访问令牌ID',
  35. `refresh_token` varchar(255) NOT NULL COMMENT '刷新令牌',
  36. `expires_at` timestamp NULL DEFAULT NULL COMMENT '过期时间',
  37. `revoked` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否已撤销',
  38. `created_at` timestamp NULL DEFAULT NULL,
  39. `updated_at` timestamp NULL DEFAULT NULL,
  40. PRIMARY KEY (`id`),
  41. UNIQUE KEY `oauth_refresh_tokens_token_unique` (`refresh_token`),
  42. KEY `oauth_refresh_tokens_access_token_id_index` (`access_token_id`)
  43. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='OAuth刷新令牌表';
  44. -- OAuth授权码表
  45. CREATE TABLE `oauth_auth_codes` (
  46. `id` bigint unsigned NOT NULL AUTO_INCREMENT,
  47. `client_id` varchar(80) NOT NULL COMMENT '客户端ID',
  48. `user_id` bigint unsigned NOT NULL COMMENT '用户ID',
  49. `auth_code` varchar(255) NOT NULL COMMENT '授权码',
  50. `redirect_uri` text NOT NULL COMMENT '重定向URI',
  51. `expires_at` timestamp NULL DEFAULT NULL COMMENT '过期时间',
  52. `scope` json DEFAULT NULL COMMENT '权限范围',
  53. `created_at` timestamp NULL DEFAULT NULL,
  54. `updated_at` timestamp NULL DEFAULT NULL,
  55. PRIMARY KEY (`id`),
  56. UNIQUE KEY `oauth_auth_codes_auth_code_unique` (`auth_code`)
  57. ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='OAuth授权码表';