2025-11-10 19:34:43 +08:00
|
|
|
|
---
|
|
|
|
|
|
--- Generated by EmmyLua(https://github.com/EmmyLua)
|
|
|
|
|
|
--- Created by admin.
|
|
|
|
|
|
--- DateTime: 2025/10/28 11:09
|
|
|
|
|
|
---
|
|
|
|
|
|
--解析url路由过滤库
|
|
|
|
|
|
local radix = require("resty.radixtree")
|
|
|
|
|
|
--数据表业务处理
|
|
|
|
|
|
local oauthService = require("service.oauth.oauth")
|
|
|
|
|
|
|
|
|
|
|
|
--定义相关路由,前端接口url地址
|
|
|
|
|
|
local routes = {
|
|
|
|
|
|
--------------------------------------------
|
2025-11-11 19:00:22 +08:00
|
|
|
|
------------ OAuth2.0认证相关路由配置 ---------
|
2025-11-10 19:34:43 +08:00
|
|
|
|
--------------------------------------------
|
|
|
|
|
|
--获取授权码
|
|
|
|
|
|
{
|
|
|
|
|
|
paths = { "/api/oauth/v2/authorize" },
|
|
|
|
|
|
methods = { "POST" },
|
|
|
|
|
|
handler = oauthService.authorize,
|
|
|
|
|
|
},
|
|
|
|
|
|
--根据授权码获取Access-Token
|
|
|
|
|
|
{
|
|
|
|
|
|
paths = { "/api/oauth/v2/token" },
|
|
|
|
|
|
methods = { "POST" },
|
|
|
|
|
|
handler = oauthService.token,
|
|
|
|
|
|
},
|
2025-11-11 19:00:22 +08:00
|
|
|
|
--通过用户名和密码进行验证
|
|
|
|
|
|
{
|
|
|
|
|
|
paths = { "/api/oauth/v2/login" },
|
|
|
|
|
|
methods = { "POST" },
|
2025-11-11 21:35:21 +08:00
|
|
|
|
handler = oauthService.login,
|
2025-11-11 19:00:22 +08:00
|
|
|
|
},
|
2025-11-10 19:34:43 +08:00
|
|
|
|
--根据Access-Token获取相应用户的账户信息
|
|
|
|
|
|
{
|
|
|
|
|
|
paths = { "/api/oauth/v2/userinfo" },
|
|
|
|
|
|
methods = { "POST" },
|
|
|
|
|
|
handler = oauthService.userinfo,
|
|
|
|
|
|
},
|
|
|
|
|
|
--回收Access-Token
|
|
|
|
|
|
{
|
|
|
|
|
|
paths = { "/api/oauth/v2/logout" },
|
|
|
|
|
|
methods = { "POST" },
|
|
|
|
|
|
handler = oauthService.logout,
|
|
|
|
|
|
},
|
|
|
|
|
|
--根据Refresh-Token刷新Access-Token
|
|
|
|
|
|
{
|
|
|
|
|
|
paths = { "/api/oauth/v2/refresh" },
|
|
|
|
|
|
methods = { "POST" },
|
|
|
|
|
|
handler = oauthService.refresh,
|
|
|
|
|
|
},
|
|
|
|
|
|
--验证token是否有效
|
|
|
|
|
|
{
|
|
|
|
|
|
paths = { "/api/oauth/v2/checklogin" },
|
|
|
|
|
|
methods = { "POST" },
|
|
|
|
|
|
handler = oauthService.checklogin,
|
|
|
|
|
|
},
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
-- 初始化路由
|
|
|
|
|
|
local rx, err = radix.new(routes)
|
|
|
|
|
|
if not rx then
|
|
|
|
|
|
ngx.say("Not Found")
|
|
|
|
|
|
ngx.exit(ngx.HTTP_NOT_FOUND)
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
|
|
--获取访问的uri地址
|
|
|
|
|
|
local uri = ngx.var.uri
|
|
|
|
|
|
local opts = {
|
|
|
|
|
|
method = ngx.var.request_method,
|
|
|
|
|
|
matched = {}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
-- 进行路由匹配和相关函数调用
|
|
|
|
|
|
local ok = rx:dispatch(uri, opts, opts.matched)
|
|
|
|
|
|
if not ok then
|
|
|
|
|
|
ngx.say("Not Found")
|
|
|
|
|
|
ngx.exit(ngx.HTTP_NOT_FOUND)
|
|
|
|
|
|
end
|