mirror of
https://git.joinsharkey.org/Sharkey/Sharkey.git
synced 2024-11-23 09:33:09 +02:00
Mk:apiで外部サーバーとの接続を禁止 (#11883)
* Mk:url(): no automatic token attaching when ep is url * Limit requests to external servers by Mk:api * remove unused import * Update CHANGELOG.md * Update packages/frontend/src/scripts/aiscript/api.ts Co-authored-by: syuilo <Syuilotan@yahoo.co.jp> --------- Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
This commit is contained in:
parent
d05563c448
commit
30b231225c
2 changed files with 5 additions and 1 deletions
|
@ -86,6 +86,7 @@
|
||||||
- Fix: 複数の階層があるメニューで、短くタップすると正常に動かない場合がある問題を修正
|
- Fix: 複数の階層があるメニューで、短くタップすると正常に動かない場合がある問題を修正
|
||||||
- Fix: アニメーションがオフのとき、スマホで子メニューの選択ができない問題を修正
|
- Fix: アニメーションがオフのとき、スマホで子メニューの選択ができない問題を修正
|
||||||
- Fix: ドロワーメニューで、親メニュー項目をマウスでホバーすると子メニューが表示されてしまう問題を修正
|
- Fix: ドロワーメニューで、親メニュー項目をマウスでホバーすると子メニューが表示されてしまう問題を修正
|
||||||
|
- Fix: AiScriptでMk:apiが外部と通信できる問題を修正
|
||||||
|
|
||||||
### Server
|
### Server
|
||||||
- Change: cacheRemoteFilesの初期値はfalseになりました
|
- Change: cacheRemoteFilesの初期値はfalseになりました
|
||||||
|
|
|
@ -34,12 +34,15 @@ export function createAiScriptEnv(opts) {
|
||||||
return confirm.canceled ? values.FALSE : values.TRUE;
|
return confirm.canceled ? values.FALSE : values.TRUE;
|
||||||
}),
|
}),
|
||||||
'Mk:api': values.FN_NATIVE(async ([ep, param, token]) => {
|
'Mk:api': values.FN_NATIVE(async ([ep, param, token]) => {
|
||||||
|
utils.assertString(ep);
|
||||||
|
if (ep.value.includes('://')) throw new Error('invalid endpoint');
|
||||||
if (token) {
|
if (token) {
|
||||||
utils.assertString(token);
|
utils.assertString(token);
|
||||||
// バグがあればundefinedもあり得るため念のため
|
// バグがあればundefinedもあり得るため念のため
|
||||||
if (typeof token.value !== 'string') throw new Error('invalid token');
|
if (typeof token.value !== 'string') throw new Error('invalid token');
|
||||||
}
|
}
|
||||||
return os.api(ep.value, utils.valToJs(param), token ? token.value : (opts.token ?? null)).then(res => {
|
const actualToken: string|null = token?.value ?? opts.token ?? null;
|
||||||
|
return os.api(ep.value, utils.valToJs(param), actualToken).then(res => {
|
||||||
return utils.jsToVal(res);
|
return utils.jsToVal(res);
|
||||||
}, err => {
|
}, err => {
|
||||||
return values.ERROR('request_failed', utils.jsToVal(err));
|
return values.ERROR('request_failed', utils.jsToVal(err));
|
||||||
|
|
Loading…
Reference in a new issue