--- --- Generated by EmmyLua(https://github.com/EmmyLua) --- Created by admin. --- DateTime: 2025/10/30 08:09 ---业务逻辑 对账户登录的参数进行数据的验证 local jsonschema = require("jsonschema") local _M = {} -- 定义一个JSON Schema local schemaLogin = { type = "object", properties = { client_id = { type = "string" }, client_secret = { type = "string" }, }, required = { "client_id", "client_secret" } } --通过用户名和密码进行认证 function _M.validateLogin(jsonData) -- 验证数据是否符合schema local validator = jsonschema.generate_validator(schemaLogin) local result = validator(jsonData) return result end -- 定义一个JSON Schema local schemaAuth = { type = "object", properties = { response_type = { type = "string" }, client_id = { type = "string" }, redirect_uri = { type = "string" }, scope = { type = "string" }, state = { type = "string" }, }, required = { "response_type", "client_id", "redirect_uri" } } --获取授权码 function _M.validateAuthorize(jsonData) -- 验证数据是否符合schema local validator = jsonschema.generate_validator(schemaAuth) local result = validator(jsonData) return result end -- 定义一个JSON Schema local schemaUserPasswd = { type = "object", properties = { grant_type = { type = "string" }, client_id = { type = "string" }, client_secret = { type = "string" }, username = { type = "string" }, password = { type = "string" }, }, required = { "grant_type", "client_id", "client_secret", "username", "password" } } --通过用户名和密码进行认证 function _M.validateUserPasswd(jsonData) -- 验证数据是否符合schema local validator = jsonschema.generate_validator(schemaUserPasswd) local result = validator(jsonData) return result end local schemaToken = { type = "object", properties = { grant_type = { type = "string" }, code = { type = "string" }, redirect_uri = { type = "string" }, }, required = { "grant_type", "code", "redirect_uri" } } --根据授权码获取Access-Token function _M.validateToken(jsonData) -- 验证数据是否符合schema local validator = jsonschema.generate_validator(schemaToken) local result = validator(jsonData) return result end local schemaUserInfo = { type = 'object', properties = { Authorization = {type = 'string', minLength = 8, pattern = 'Bearer\\s+(.+)$'}, }, required = {"Authorization"} } --根据Access-Token获取相应用户的账户信息 function _M.validateUserinfo(jsonData) -- 验证数据是否符合schema local validator = jsonschema.generate_validator(schemaUserInfo) local result = validator(jsonData) return result end --grant_type=refresh_token&refresh_token=fbde81ee-f419-42b1-1234-9191f1f95be9&client_id=demoClientId&client_secret=demoClientSecret local schemaRefresh = { type = "object", properties = { grant_type = { type = "string" }, refresh_token = { type = "string" }, client_id = { type = "string" }, client_secret = { type = "string" }, }, required = { "grant_type", "refresh_token", "client_id", "client_secret" } } --根据Refresh-Token刷新Access-Token function _M.validateRefresh(jsonData) -- 验证数据是否符合schema local validator = jsonschema.generate_validator(schemaRefresh) local result = validator(jsonData) return result end local schemaLogout = { type = "object", properties = { access_token = { type = "string" }, client_id = { type = "string" }, client_secret = { type = "string" }, }, required = { "access_token", "client_id", "client_secret" } } --回收Token function _M.validateLogout(jsonData) -- 验证数据是否符合schema local validator = jsonschema.generate_validator(schemaLogout) local result = validator(jsonData) return result end return _M