AuthPlatform/src/validator/oauth/oauth.lua

132 lines
3.3 KiB
Lua
Raw Normal View History

---
--- 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 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:validatorAuthorize(jsonData)
-- 验证数据是否符合schema
local validator = jsonschema.generate_validator(schemaAuth)
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:validatorToken(jsonData)
-- 验证数据是否符合schema
local validator = jsonschema.generate_validator(schemaToken)
local result = validator(jsonData)
return result
end
local schemaLogin = {
type = "object",
properties = {
username = { type = "string" },
password = { type = "string" },
captcha = { type = "string" },
checkKey = { type = "string" },
},
required = { "username", "password" }
}
--回收Access-Token
function _M:validatorLogin(jsonData)
-- 验证数据是否符合schema
local validator = jsonschema.generate_validator(schemaLogin)
local result = validator(jsonData)
return result
end
local schemaUserInfo = {
type = "object",
properties = {
Authorization = { type = "string" },
},
required = { "Authorization" }
}
--根据Access-Token获取相应用户的账户信息
function _M:validatorUserinfo(jsonData)
-- 验证数据是否符合schema
local validator = jsonschema.generate_validator(schemaUserInfo)
local result = validator(jsonData)
return result
end
local schemaLogout = {
type = "object",
properties = {
Authorization = { type = "string" },
},
required = { "Authorization" }
}
--回收Access-Token
function _M:validatorLogout(jsonData)
-- 验证数据是否符合schema
local validator = jsonschema.generate_validator(schemaLogout)
local result = validator(jsonData)
return result
end
local schemaRefresh = {
type = "object",
properties = {
Authorization = { type = "string" },
},
required = { "Authorization" }
}
--根据Refresh-Token刷新Access-Token
function _M:validatorRefresh(jsonData)
-- 验证数据是否符合schema
local validator = jsonschema.generate_validator(schemaRefresh)
local result = validator(jsonData)
return result
end
local schemaChecklogin = {
type = "object",
properties = {
Authorization = { type = "string" },
},
required = { "Authorization" }
}
--验证token是否有效
function _M:validatorChecklogin(jsonData)
-- 验证数据是否符合schema
local validator = jsonschema.generate_validator(schemaChecklogin)
local result = validator(jsonData)
return result
end
return _M