--- --- 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 = { -------------------------------------------- ------------ OAuth2.0认证相关路由配置 --------- -------------------------------------------- --获取授权码 { paths = { "/api/oauth/v2/authorize" }, methods = { "POST" }, handler = oauthService.authorize, }, --根据授权码获取Access-Token { paths = { "/api/oauth/v2/token" }, methods = { "POST" }, handler = oauthService.token, }, --通过用户名和密码进行验证 { paths = { "/api/oauth/v2/login" }, methods = { "POST" }, handler = oauthService.login, }, --根据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