mirror of
https://github.com/NapNeko/NapCatQQ.git
synced 2026-02-05 15:11:15 +00:00
Validate pluginId and use localStorage token
Return a 400 error when the /call-plugin/:pluginId route is requested without a pluginId to avoid calling getPluginExports with an undefined id (packages/napcat-plugin-builtin/index.ts).
Update the dashboard UI to read the auth token from localStorage (same-origin) instead of relying on a URL parameter; a comment about legacy webui_token in the URL was added while the implementation currently prefers localStorage.getItem('token') (packages/napcat-plugin-builtin/webui/dashboard.html).
This commit is contained in:
parent
a5769b6a62
commit
52b6627ebd
@ -134,6 +134,14 @@ const plugin_init: PluginModule['plugin_init'] = async (ctx) => {
|
|||||||
ctx.router.get('/call-plugin/:pluginId', (req, res) => {
|
ctx.router.get('/call-plugin/:pluginId', (req, res) => {
|
||||||
const { pluginId } = req.params;
|
const { pluginId } = req.params;
|
||||||
|
|
||||||
|
if (!pluginId) {
|
||||||
|
res.status(400).json({
|
||||||
|
code: -1,
|
||||||
|
message: 'Plugin ID is required'
|
||||||
|
});
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
// 使用 getPluginExports 获取其他插件的导出模块
|
// 使用 getPluginExports 获取其他插件的导出模块
|
||||||
const targetPlugin = ctx.getPluginExports<PluginModule>(pluginId);
|
const targetPlugin = ctx.getPluginExports<PluginModule>(pluginId);
|
||||||
|
|
||||||
|
|||||||
@ -279,9 +279,10 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
// 从 URL 参数获取 webui_token
|
// 从 localStorage 获取 token(与父页面同源,可直接访问)
|
||||||
|
// 兼容旧版:如果 URL 有 webui_token 参数则优先使用
|
||||||
const urlParams = new URLSearchParams(window.location.search);
|
const urlParams = new URLSearchParams(window.location.search);
|
||||||
const webuiToken = urlParams.get('webui_token') || '';
|
const webuiToken = localStorage.getItem('token') || '';
|
||||||
|
|
||||||
// 插件 API 基础路径(需要鉴权)
|
// 插件 API 基础路径(需要鉴权)
|
||||||
const apiBase = '/api/Plugin/ext/napcat-plugin-builtin';
|
const apiBase = '/api/Plugin/ext/napcat-plugin-builtin';
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user