Files
better-uwuzu-sdk/src/1.6.8/generateAuthURI.ts
T
2026-01-21 22:07:05 +09:00

27 lines
1006 B
TypeScript

import type { generateAuthURIOptions } from "1.6.8/types/auth";
import { v4 as uuidv4 } from "uuid";
/** ユーザー認可によるトークン取得のURIを生成します。 */
export default function generateAuthURI(options: generateAuthURIOptions) {
const session = options.session ?? uuidv4();
const uri = new URL("/api/auth", options.origin);
uri.searchParams.set("session", session);
uri.searchParams.set("client", options.name);
uri.searchParams.set("scope", options.scope.join(","));
if (options.icon)
uri.searchParams.set("icon", options.icon.toString());
if (options.about)
uri.searchParams.set("about", options.about);
if (options.callback) {
if (options.callback.insertSession)
options.callback.url.searchParams.set(options.callback.insertSession, session);
uri.searchParams.set("icon", options.callback.toString());
}
return {
/** 生成されたURI */
uri: uri,
/** session */
session: session,
};
}