From a8413c19d87a5a9b1c928aaf576cf669e167faf7 Mon Sep 17 00:00:00 2001 From: Minei3oat Date: Thu, 9 Oct 2025 01:33:17 +0200 Subject: [PATCH 1/5] Add OAuth2 login --- .../jose-npm-6.1.0-b52bb87803-d111bc11fd.zip | Bin 0 -> 97272 bytes ...webapi-npm-3.8.2-251c3d9d97-5f96b50dd5.zip | Bin 0 -> 57207 bytes ...client-npm-6.8.1-616ccc5934-94d18d39f8.zip | Bin 0 -> 44814 bytes api/Dockerfile | 2 +- api/migrations/57-external-login.sql | 25 ++ api/migrations/58-oauth2-login.sql | 5 + api/package.json | 1 + api/src/config.ts | 33 +++ api/src/discord/agile/commands/register.ts | 2 +- api/src/discord/database/users.ts | 10 +- api/src/index.ts | 13 +- api/src/plugins/loginWithOAuth2.ts | 226 ++++++++++++++++++ api/src/routes/oauth2.ts | 9 + api/src/utils/role.ts | 30 +++ api/yarn.lock | 25 ++ .../jose-npm-6.1.0-b52bb87803-d111bc11fd.zip | Bin 0 -> 97272 bytes ...webapi-npm-3.8.2-251c3d9d97-5f96b50dd5.zip | Bin 0 -> 57207 bytes ...client-npm-6.8.1-616ccc5934-94d18d39f8.zip | Bin 0 -> 44814 bytes front/nginx.conf | 11 + front/package.json | 1 + front/src/components/Auth/Login.vue | 42 ++++ front/src/components/Auth/OAuth2Callback.vue | 62 +++++ front/src/ctfnote/auth.ts | 22 ++ front/src/ctfnote/models.ts | 8 + front/src/ctfnote/settings.ts | 22 ++ front/src/graphql/Auth.graphql | 17 ++ front/src/graphql/Settings.graphql | 14 ++ front/src/router/routes.ts | 7 + front/yarn.lock | 25 ++ 29 files changed, 599 insertions(+), 13 deletions(-) create mode 100644 api/.yarn/cache/jose-npm-6.1.0-b52bb87803-d111bc11fd.zip create mode 100644 api/.yarn/cache/oauth4webapi-npm-3.8.2-251c3d9d97-5f96b50dd5.zip create mode 100644 api/.yarn/cache/openid-client-npm-6.8.1-616ccc5934-94d18d39f8.zip create mode 100644 api/migrations/57-external-login.sql create mode 100644 api/migrations/58-oauth2-login.sql create mode 100644 api/src/plugins/loginWithOAuth2.ts create mode 100644 api/src/routes/oauth2.ts create mode 100644 api/src/utils/role.ts create mode 100644 front/.yarn/cache/jose-npm-6.1.0-b52bb87803-d111bc11fd.zip create mode 100644 front/.yarn/cache/oauth4webapi-npm-3.8.2-251c3d9d97-5f96b50dd5.zip create mode 100644 front/.yarn/cache/openid-client-npm-6.8.1-616ccc5934-94d18d39f8.zip create mode 100644 front/src/components/Auth/OAuth2Callback.vue diff --git a/api/.yarn/cache/jose-npm-6.1.0-b52bb87803-d111bc11fd.zip b/api/.yarn/cache/jose-npm-6.1.0-b52bb87803-d111bc11fd.zip new file mode 100644 index 0000000000000000000000000000000000000000..3dd0ee495496a14200e0f1216f54129f29c4a6ff GIT binary patch literal 97272 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 z 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 O(E;Lw&SHQA3-*5xeEbyv literal 0 HcmV?d00001 diff --git a/api/.yarn/cache/oauth4webapi-npm-3.8.2-251c3d9d97-5f96b50dd5.zip b/api/.yarn/cache/oauth4webapi-npm-3.8.2-251c3d9d97-5f96b50dd5.zip new file mode 100644 index 0000000000000000000000000000000000000000..23b7fb385121a2c772ed555c00fe4b1f466d87e5 GIT binary patch literal 57207 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 literal 0 HcmV?d00001 diff --git a/api/.yarn/cache/openid-client-npm-6.8.1-616ccc5934-94d18d39f8.zip b/api/.yarn/cache/openid-client-npm-6.8.1-616ccc5934-94d18d39f8.zip new file mode 100644 index 0000000000000000000000000000000000000000..b4ef7a17eb901f138a4c9b94ab3b4d9ddbb49f59 GIT binary patch literal 44814 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 N`vv&#W7S_*{|9mBa!ddK literal 0 HcmV?d00001 diff --git a/api/Dockerfile b/api/Dockerfile index 5cc0a8331..f226918c9 100644 --- a/api/Dockerfile +++ b/api/Dockerfile @@ -2,7 +2,7 @@ # Global args, set before the first FROM, shared by all stages ARG NODE_ENV="production" -ARG NODE_IMAGE="18.19.1-alpine" +ARG NODE_IMAGE="20.19.5-alpine" ################################################################################ # Build stage 1 - `yarn build` diff --git a/api/migrations/57-external-login.sql b/api/migrations/57-external-login.sql new file mode 100644 index 000000000..db4302315 --- /dev/null +++ b/api/migrations/57-external-login.sql @@ -0,0 +1,25 @@ +-- Login with external identity and register/migrate user if not present/externally managed +CREATE FUNCTION ctfnote_private.login_with_extern("name" text, "role" ctfnote.role) +RETURNS ctfnote.jwt +AS $$ +DECLARE + log_user ctfnote_private.user; +BEGIN + INSERT INTO ctfnote_private.user ("login", "password", "role") + VALUES (login_with_extern.name, 'external', login_with_extern.role) + ON CONFLICT ("login") DO UPDATE + SET login = login_with_extern.name, password = 'external' + RETURNING + * INTO log_user; + INSERT INTO ctfnote.profile ("id", "username") + VALUES (log_user.id, login_with_extern.name) + ON CONFLICT (id) DO UPDATE + SET username = login_with_extern.name; + RETURN (ctfnote_private.new_token (log_user.id))::ctfnote.jwt; +END; +$$ +LANGUAGE plpgsql +STRICT +SECURITY DEFINER; + +GRANT EXECUTE ON FUNCTION ctfnote_private.login_with_extern TO user_anonymous; diff --git a/api/migrations/58-oauth2-login.sql b/api/migrations/58-oauth2-login.sql new file mode 100644 index 000000000..7104cbdb9 --- /dev/null +++ b/api/migrations/58-oauth2-login.sql @@ -0,0 +1,5 @@ +ALTER TABLE ctfnote.settings + ADD COLUMN "oauth2_enabled" boolean NOT NULL DEFAULT FALSE; + +GRANT SELECT ("oauth2_enabled") ON ctfnote.settings TO user_anonymous; +GRANT UPDATE ("oauth2_enabled") ON ctfnote.settings TO user_postgraphile; diff --git a/api/package.json b/api/package.json index 1a9d56390..36636c534 100644 --- a/api/package.json +++ b/api/package.json @@ -30,6 +30,7 @@ "graphql": "^16.9.0", "graphql-upload-ts": "^2.1.2", "ical-generator": "^7.0.0", + "openid-client": "6.8.1", "postgraphile": "4.13.0", "postgraphile-plugin-connection-filter": "^2.3.0", "postgres-migrations": "^5.3.0", diff --git a/api/src/config.ts b/api/src/config.ts index c97f8dfad..0bc3aade7 100644 --- a/api/src/config.ts +++ b/api/src/config.ts @@ -51,6 +51,21 @@ export type CTFNoteConfig = DeepReadOnly<{ registrationRoleId: string; channelHandleStyle: DiscordChannelHandleStyle; }; + oauth2: { + enabled: string; + clientId: string; + clientSecret: string; + scope: string; + usernameAttr: string; + roleAttr: string; + roleMapping: string; + discoveryUrl: string; + authorizationEndpoint: string; + tokenEndpoint: string; + userinfoEndpoint: string; + tokenEndpointAuthMethod: string; + issuer: string; + }; }>; function getEnv( @@ -112,6 +127,24 @@ const config: CTFNoteConfig = { "agile" ) as DiscordChannelHandleStyle, }, + oauth2: { + enabled: getEnv("OAUTH2_ENABLED", "false"), + clientId: getEnv("OAUTH2_CLIENT_ID", ""), + clientSecret: getEnv("OAUTH2_CLIENT_SECRET", ""), + scope: getEnv("OAUTH2_SCOPE", ""), + usernameAttr: getEnv("OAUTH2_USERNAME_ATTR", ""), + roleAttr: getEnv("OAUTH2_ROLE_ATTR", ""), + roleMapping: getEnv("OAUTH2_ROLE_MAPPING", ""), + discoveryUrl: getEnv("OAUTH2_DISCOVERY_URL", ""), + authorizationEndpoint: getEnv("OAUTH2_AUTHORIZATION_ENDPOINT", ""), + tokenEndpoint: getEnv("OAUTH2_TOKEN_ENDPOINT", ""), + userinfoEndpoint: getEnv("OAUTH2_USERINFO_ENDPOINT", ""), + tokenEndpointAuthMethod: getEnv( + "OAUTH2_TOKEN_ENDPOINT_AUTH_METHOD", + "client_secret_basic" + ), + issuer: getEnv("OAUTH2_ISSUER", ""), + }, }; export default config; diff --git a/api/src/discord/agile/commands/register.ts b/api/src/discord/agile/commands/register.ts index 3552c6b55..de587913c 100644 --- a/api/src/discord/agile/commands/register.ts +++ b/api/src/discord/agile/commands/register.ts @@ -6,11 +6,11 @@ import { } from "discord.js"; import { Command } from "../../interfaces/command"; import { - AllowedRoles, createInvitationTokenForDiscordId, getInvitationTokenForDiscordId, getUserByDiscordId, } from "../../database/users"; +import { AllowedRoles } from "../../../utils/role"; import config from "../../../config"; async function getInvitationUrl(invitationCode: string | null = null) { diff --git a/api/src/discord/database/users.ts b/api/src/discord/database/users.ts index 86005a4a6..b5182fdcc 100644 --- a/api/src/discord/database/users.ts +++ b/api/src/discord/database/users.ts @@ -1,5 +1,6 @@ import { connectToDatabase } from "../../utils/database"; import { PoolClient } from "pg"; +import { AllowedRoles } from "../../utils/role"; /* * Only returns users that have not linked their discord account yet. @@ -45,15 +46,6 @@ export async function setDiscordIdForUser( } } -// refactor above to an enum -export enum AllowedRoles { - user_guest = "user_guest", - user_friend = "user_friend", - user_member = "user_member", - user_manager = "user_manager", - user_admin = "user_admin", -} - export async function getInvitationTokenForDiscordId( discordId: string, pgClient: PoolClient | null = null diff --git a/api/src/index.ts b/api/src/index.ts index 483e4e3fc..55f375e53 100644 --- a/api/src/index.ts +++ b/api/src/index.ts @@ -16,12 +16,17 @@ import uploadLogoPlugin from "./plugins/uploadLogo"; import uploadScalar from "./plugins/uploadScalar"; import { Pool } from "pg"; import { icalRoute } from "./routes/ical"; +import { oauth2Router } from "./routes/oauth2"; import ConnectionFilterPlugin from "postgraphile-plugin-connection-filter"; import OperationHook from "@graphile/operation-hooks"; import discordHooks from "./discord/hooks"; import { initDiscordBot } from "./discord"; import PgManyToManyPlugin from "@graphile-contrib/pg-many-to-many"; import ProfileSubscriptionPlugin from "./plugins/ProfileSubscriptionPlugin"; +import { + checkOAuth2Enabled, + loginWithOAuth2Plugin, +} from "./plugins/loginWithOAuth2"; function getDbUrl(role: "user" | "admin") { const login = config.db[role].login; @@ -63,6 +68,7 @@ function createOptions() { discordHooks, PgManyToManyPlugin, ProfileSubscriptionPlugin, + loginWithOAuth2Plugin, ], ownerConnectionString: getDbUrl("admin"), enableQueryBatching: true, @@ -109,7 +115,7 @@ function createOptions() { return postgraphileOptions; } -function createApp(postgraphileOptions: PostGraphileOptions) { +async function createApp(postgraphileOptions: PostGraphileOptions) { const pool = new Pool({ connectionString: getDbUrl("user"), }); @@ -126,6 +132,9 @@ function createApp(postgraphileOptions: PostGraphileOptions) { ); app.use(postgraphile(pool, "ctfnote", postgraphileOptions)); app.use("/calendar.ics", icalRoute(pool)); + if (await checkOAuth2Enabled()) { + app.use("/api/auth/oauth2", oauth2Router); + } return app; } @@ -150,7 +159,7 @@ async function main() { return; } const postgraphileOptions = createOptions(); - const app = createApp(postgraphileOptions); + const app = await createApp(postgraphileOptions); await initDiscordBot(); diff --git a/api/src/plugins/loginWithOAuth2.ts b/api/src/plugins/loginWithOAuth2.ts new file mode 100644 index 000000000..f067b7ff1 --- /dev/null +++ b/api/src/plugins/loginWithOAuth2.ts @@ -0,0 +1,226 @@ +import { makeExtendSchemaPlugin, gql } from "graphile-utils"; +import { connectToDatabase } from "../utils/database"; +import savepointWrapper from "./savepointWrapper"; +import config from "../config"; +import { determineRoleByMapping } from "../utils/role"; +import { AllowedRoles } from "../utils/role"; + +// relevant excerpt from .well-known/openid-configuration +type DiscoveryJson = { + authorization_endpoint: string; + token_endpoint: string; + userinfo_endpoint: string; + issuer: string; +}; + +export type OAuth2Metadata = { + authorizationEndpoint: string; + tokenEndpoint: string; + userinfoEndpoint: string; + issuer: string; +}; + +let oauth2Metadata: OAuth2Metadata = { + authorizationEndpoint: config.oauth2.authorizationEndpoint, + tokenEndpoint: config.oauth2.tokenEndpoint, + userinfoEndpoint: config.oauth2.userinfoEndpoint, + issuer: config.oauth2.issuer, +}; + +export async function checkOAuth2Enabled() { + let enabled = config.oauth2.enabled === "true"; + const errors: string[] = []; + + if (enabled) { + if (!config.oauth2.clientId) { + errors.push("clientId is missing"); + } + if (!config.oauth2.scope) { + errors.push("scopes is missing"); + } + if (!config.oauth2.usernameAttr) { + errors.push("usernameAttr is missing"); + } + if (!config.oauth2.roleAttr) { + errors.push("roleAttr is missing"); + } + if (!config.oauth2.roleMapping) { + errors.push("roleMapping is missing"); + } + if (config.oauth2.discoveryUrl) { + try { + const discoverResponse = await fetch(config.oauth2.discoveryUrl); + const discoveryJson: DiscoveryJson = await discoverResponse.json(); + oauth2Metadata = { + authorizationEndpoint: + config.oauth2.authorizationEndpoint || + discoveryJson.authorization_endpoint, + tokenEndpoint: + config.oauth2.tokenEndpoint || discoveryJson.token_endpoint, + userinfoEndpoint: + config.oauth2.userinfoEndpoint || discoveryJson.userinfo_endpoint, + issuer: discoveryJson.issuer || config.oauth2.issuer, + }; + } catch (error) { + console.error(`Failed to fetch ${config.oauth2.discoveryUrl}:`, error); + } + } + if (!oauth2Metadata.authorizationEndpoint) { + errors.push("authorizationEndpoint is missing"); + } + if (!oauth2Metadata.tokenEndpoint) { + errors.push("tokenEndpoint is missing"); + } + if (!oauth2Metadata.userinfoEndpoint) { + errors.push("userinfoEndpoint is missing"); + } + if (!oauth2Metadata.issuer) { + errors.push("issuer is missing"); + } + + if (errors.length) { + enabled = false; + console.error("Disabling OAuth2 due to configuration errors:"); + for (const message of errors) { + console.error(` - ${message}`); + } + } + } + + const pgClient = await connectToDatabase(); + try { + const query = "UPDATE ctfnote.settings SET oauth2_enabled = $1"; + await pgClient.query(query, [enabled]); + } catch (error) { + console.error("Failed to set oauth2_enabled flag in the database:", error); + } finally { + pgClient.release(); + } + + return enabled; +} + +export const loginWithOAuth2Plugin = makeExtendSchemaPlugin(() => { + return { + typeDefs: gql` + input LoginWithOAuth2Input { + callbackUrl: String! + pkceCodeVerifier: String + expectedState: String + } + + type LoginWithOAuth2Payload { + jwt: Jwt + login: String + } + + type OAuth2Settings { + clientId: String! + scope: String! + issuer: String! + authorizationEndpoint: String! + } + + extend type Query { + oauth2Settings: OAuth2Settings + } + + extend type Mutation { + loginWithOAuth2(input: LoginWithOAuth2Input): LoginWithOAuth2Payload + } + `, + resolvers: { + Query: { + oauth2Settings: () => { + return { + clientId: config.oauth2.clientId, + scope: config.oauth2.scope, + issuer: oauth2Metadata.issuer, + authorizationEndpoint: oauth2Metadata.authorizationEndpoint, + }; + }, + }, + Mutation: { + loginWithOAuth2: async ( + _query, + { input: { callbackUrl, expectedState, pkceCodeVerifier } }, + { pgClient } + ) => { + if (!config.oauth2.enabled) { + throw new Error("OAuth 2.0 login is not enabled"); + } + + const oauth2 = await import("openid-client"); + + let clientAuth; + switch (config.oauth2.tokenEndpointAuthMethod) { + case "client_secret_post": + clientAuth = oauth2.ClientSecretPost(config.oauth2.clientSecret); + break; + case "client_secret_jwt": + clientAuth = oauth2.ClientSecretJwt(config.oauth2.clientSecret); + break; + case "client_secret_basic": + clientAuth = oauth2.ClientSecretBasic(config.oauth2.clientSecret); + break; + case "none": + clientAuth = undefined; + break; + } + + const oauth2Config = new oauth2.Configuration( + { + issuer: oauth2Metadata.issuer, + token_endpoint: oauth2Metadata.tokenEndpoint, + }, + config.oauth2.clientId, + undefined, + clientAuth + ); + + const tokenResponse = await oauth2.authorizationCodeGrant( + oauth2Config, + new URL(callbackUrl), + { + pkceCodeVerifier: pkceCodeVerifier, + expectedState: expectedState, + } + ); + + const profileResponse = await oauth2.fetchProtectedResource( + oauth2Config, + tokenResponse.access_token, + new URL(oauth2Metadata.userinfoEndpoint), + "GET" + ); + + const profile = await profileResponse.json(); + const login = profile[config.oauth2.usernameAttr]; + if (!login) { + throw new Error("Login is missing in profile"); + } + const roleAttr = profile[config.oauth2.roleAttr]; + if (!roleAttr) { + throw new Error("Role is missing in profile"); + } + const roleMapping: Record = + JSON.parse(config.oauth2.roleMapping); + const role = determineRoleByMapping(roleAttr, roleMapping); + if (!role) { + throw new Error("Access denied"); + } + + return await savepointWrapper(pgClient, async () => { + const { + rows: [jwt], + } = await pgClient.query( + `SELECT * FROM ctfnote_private.login_with_extern($1, $2)`, + [login, role] + ); + return { jwt, login }; + }); + }, + }, + }, + }; +}); diff --git a/api/src/routes/oauth2.ts b/api/src/routes/oauth2.ts new file mode 100644 index 000000000..9fdc4022f --- /dev/null +++ b/api/src/routes/oauth2.ts @@ -0,0 +1,9 @@ +import { Request, Response, Router } from "express"; + +export const oauth2Router = Router(); + +oauth2Router.get("/callback", (req: Request, res: Response) => { + res.redirect( + `/#/auth/oauth2/callback/${encodeURIComponent(req.originalUrl)}` + ); +}); diff --git a/api/src/utils/role.ts b/api/src/utils/role.ts new file mode 100644 index 000000000..55cfdacbf --- /dev/null +++ b/api/src/utils/role.ts @@ -0,0 +1,30 @@ +export enum AllowedRoles { + user_guest = "user_guest", + user_friend = "user_friend", + user_member = "user_member", + user_manager = "user_manager", + user_admin = "user_admin", +} + +export function determineRoleByMapping( + input: string | string[], + mapping: Record +): AllowedRoles | undefined { + if (typeof input === "string") { + return mapping[input]; + } + + const roles = input.map((value) => mapping[value]); + for (const role of [ + AllowedRoles.user_admin, + AllowedRoles.user_manager, + AllowedRoles.user_member, + AllowedRoles.user_friend, + AllowedRoles.user_guest, + ]) { + if (roles.includes(role)) { + return role; + } + } + return undefined; +} diff --git a/api/yarn.lock b/api/yarn.lock index 01811db16..8d00a9a1e 100644 --- a/api/yarn.lock +++ b/api/yarn.lock @@ -1310,6 +1310,7 @@ __metadata: ical-generator: "npm:^7.0.0" lint-staged: "npm:^15.2.2" nodemon: "npm:^3.1.7" + openid-client: "npm:6.8.1" postgraphile: "npm:4.13.0" postgraphile-plugin-connection-filter: "npm:^2.3.0" postgres-migrations: "npm:^5.3.0" @@ -2596,6 +2597,13 @@ __metadata: languageName: node linkType: hard +"jose@npm:^6.1.0": + version: 6.1.0 + resolution: "jose@npm:6.1.0" + checksum: 10/d111bc11fdb9566370992393615097d58618ba6ed29eee5d79b3bf4c460c93a6c0a9c5829d14b40342b376df16cde7d1bef79fda65c6bf09e1158875c17ae865 + languageName: node + linkType: hard + "js-yaml@npm:^4.1.0": version: 4.1.0 resolution: "js-yaml@npm:4.1.0" @@ -3182,6 +3190,13 @@ __metadata: languageName: node linkType: hard +"oauth4webapi@npm:^3.8.2": + version: 3.8.2 + resolution: "oauth4webapi@npm:3.8.2" + checksum: 10/5f96b50dd50298402a15d5d545decab0ef20aa14fdd0fe6d6ccc9e47d645d795f0aebb0c1fd452e2504170d8880b89021a87a168aed4df64bf39a1ba7e85f245 + languageName: node + linkType: hard + "object-inspect@npm:^1.13.1": version: 1.13.3 resolution: "object-inspect@npm:1.13.3" @@ -3232,6 +3247,16 @@ __metadata: languageName: node linkType: hard +"openid-client@npm:6.8.1": + version: 6.8.1 + resolution: "openid-client@npm:6.8.1" + dependencies: + jose: "npm:^6.1.0" + oauth4webapi: "npm:^3.8.2" + checksum: 10/94d18d39f8e9d4a194acdba85793a1e39a0f6fe50fdf2bdea4aa57409da629a8966a3673738510c5e9f6a32715259e26fb6e56e83b1b8d2de31346353aa437ad + languageName: node + linkType: hard + "optionator@npm:^0.9.3": version: 0.9.3 resolution: "optionator@npm:0.9.3" diff --git a/front/.yarn/cache/jose-npm-6.1.0-b52bb87803-d111bc11fd.zip b/front/.yarn/cache/jose-npm-6.1.0-b52bb87803-d111bc11fd.zip new file mode 100644 index 0000000000000000000000000000000000000000..3dd0ee495496a14200e0f1216f54129f29c4a6ff GIT binary patch literal 97272 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 z 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 O(E;Lw&SHQA3-*5xeEbyv literal 0 HcmV?d00001 diff --git a/front/.yarn/cache/oauth4webapi-npm-3.8.2-251c3d9d97-5f96b50dd5.zip b/front/.yarn/cache/oauth4webapi-npm-3.8.2-251c3d9d97-5f96b50dd5.zip new file mode 100644 index 0000000000000000000000000000000000000000..23b7fb385121a2c772ed555c00fe4b1f466d87e5 GIT binary patch literal 57207 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 literal 0 HcmV?d00001 diff --git a/front/.yarn/cache/openid-client-npm-6.8.1-616ccc5934-94d18d39f8.zip b/front/.yarn/cache/openid-client-npm-6.8.1-616ccc5934-94d18d39f8.zip new file mode 100644 index 0000000000000000000000000000000000000000..b4ef7a17eb901f138a4c9b94ab3b4d9ddbb49f59 GIT binary patch literal 44814 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 N`vv&#W7S_*{|9mBa!ddK literal 0 HcmV?d00001 diff --git a/front/nginx.conf b/front/nginx.conf index 9ac8eb36f..a87b354f6 100644 --- a/front/nginx.conf +++ b/front/nginx.conf @@ -38,6 +38,17 @@ server { add_header Pragma "no-cache"; } + location /api { + proxy_pass http://api:3000/api; + proxy_http_version 1.1; + proxy_set_header Host $http_host; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection $http_connection; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + add_header Pragma "no-cache"; + } + location /calendar.ics { proxy_pass http://api:3000/calendar.ics; proxy_http_version 1.1; diff --git a/front/package.json b/front/package.json index cb1f28d20..54d775080 100644 --- a/front/package.json +++ b/front/package.json @@ -25,6 +25,7 @@ "core-js": "^3.39.0", "hotkeys-js": "^3.13.7", "jszip": "^3.10.1", + "openid-client": "^6.8.1", "quasar": "^2.17.4", "slugify": "^1.6.6", "ts-essentials": "^9.4.1", diff --git a/front/src/components/Auth/Login.vue b/front/src/components/Auth/Login.vue index 1c990aa07..d3d7c3430 100644 --- a/front/src/components/Auth/Login.vue +++ b/front/src/components/Auth/Login.vue @@ -29,6 +29,19 @@ +

+ @@ -49,6 +62,7 @@ import PasswordInput from 'src/components/Utils/PasswordInput.vue'; import { ctfnote } from 'src/ctfnote'; import { defineComponent, reactive } from 'vue'; import CtfNoteLink from '../Utils/CtfNoteLink.vue'; +import * as oauth2 from 'openid-client'; export default defineComponent({ components: { PasswordInput, CtfNoteLink }, @@ -58,6 +72,7 @@ export default defineComponent({ setup() { return { settings: ctfnote.settings.injectSettings(), + oauth2Settings: ctfnote.settings.getOAuth2Settings().result, resolveAndNotify: ctfnote.ui.useNotify().resolveAndNotify, login: ctfnote.auth.useLogin(), allowRegistration: true, @@ -86,6 +101,33 @@ export default defineComponent({ }, ); }, + async redirectToOAuth2() { + const oauth2Config = new oauth2.Configuration( + { + issuer: this.oauth2Settings.issuer, + authorization_endpoint: this.oauth2Settings.authorizationEndpoint, + }, + this.oauth2Settings.clientId, + ); + + const pkceCodeVerifier = oauth2.randomPKCECodeVerifier(); + const pkceCodeChallenge = + await oauth2.calculatePKCECodeChallenge(pkceCodeVerifier); + const state = oauth2.randomState(); + sessionStorage.setItem('pkceCodeVerifier', pkceCodeVerifier); + sessionStorage.setItem('state', state); + + let params: Record = { + state, + scope: this.oauth2Settings.scope, + redirect_uri: document.location.origin + '/api/auth/oauth2/callback', + code_challenge: pkceCodeChallenge, + code_challenge_method: 'S256', + }; + document.location.replace( + oauth2.buildAuthorizationUrl(oauth2Config, params), + ); + }, }, }); diff --git a/front/src/components/Auth/OAuth2Callback.vue b/front/src/components/Auth/OAuth2Callback.vue new file mode 100644 index 000000000..8239bb925 --- /dev/null +++ b/front/src/components/Auth/OAuth2Callback.vue @@ -0,0 +1,62 @@ + + + + + diff --git a/front/src/ctfnote/auth.ts b/front/src/ctfnote/auth.ts index 6aa7c97f5..5c6db667c 100644 --- a/front/src/ctfnote/auth.ts +++ b/front/src/ctfnote/auth.ts @@ -2,6 +2,7 @@ import { useApolloClient } from '@vue/apollo-composable'; import { NewTokenDocument, useLoginMutation, + useLoginWithOAuth2Mutation, useRegisterMutation, useRegisterWithPasswordMutation, useRegisterWithTokenMutation, @@ -54,6 +55,27 @@ export function useLogin() { }; } +export function useLoginWithOAuth2() { + const { mutate } = useLoginWithOAuth2Mutation({}); + const $router = useRouter(); + return async ( + callbackUrl: string, + expectedState?: string, + pkceCodeVerifier?: string, + ) => { + const r = await mutate({ callbackUrl, expectedState, pkceCodeVerifier }); + const jwt = r?.data?.loginWithOAuth2?.jwt; + if (jwt) { + saveJWT(jwt); + await prefetchMe(); + await $router.push({ name: 'ctfs-incoming' }); + return r?.data?.loginWithOAuth2?.login; + } else { + throw new Error('Login succeeded without JWT. Please try again.'); + } + }; +} + export function useRegister() { const { mutate } = useRegisterMutation({}); const $router = useRouter(); diff --git a/front/src/ctfnote/models.ts b/front/src/ctfnote/models.ts index 00debfa7a..87abd6368 100644 --- a/front/src/ctfnote/models.ts +++ b/front/src/ctfnote/models.ts @@ -103,6 +103,7 @@ export type Settings = { registrationPasswordAllowed: boolean; style: SettingsColorMap; discordIntegrationEnabled: boolean; + oauth2Enabled: boolean; }; export type AdminSettings = Settings & { @@ -111,6 +112,13 @@ export type AdminSettings = Settings & { icalPassword: string; }; +export type OAuth2Settings = { + clientId: string; + scope: string; + issuer: string; + authorizationEndpoint: string; +}; + export type User = { nodeId: string; diff --git a/front/src/ctfnote/settings.ts b/front/src/ctfnote/settings.ts index 38e3a9fd7..3f0ed72d4 100644 --- a/front/src/ctfnote/settings.ts +++ b/front/src/ctfnote/settings.ts @@ -2,11 +2,13 @@ import { useApolloClient } from '@vue/apollo-composable'; import { AdminSettingsInfoFragment, GetSettingsDocument, + OAuth2SettingsFragment, Role, SettingPatch, SettingsInfoFragment, useGetAdminSettingsQuery, useGetIcalPasswordQuery, + useGetOAuth2SettingsQuery, useGetSettingsQuery, useUpdateSettingsMutation, } from 'src/generated/graphql'; @@ -14,6 +16,7 @@ import { inject, InjectionKey, provide, Ref } from 'vue'; import { AdminSettings, defaultColorsNames, + OAuth2Settings, Settings, SettingsColorMap, } from './models'; @@ -41,6 +44,7 @@ export function buildSettings( registrationPasswordAllowed: fragment.registrationPasswordAllowed ?? false, style: parseStyle(fragment.style ?? '{}'), discordIntegrationEnabled: fragment.discordIntegrationEnabled ?? false, + oauth2Enabled: fragment.oauth2Enabled ?? false, }; } @@ -56,6 +60,17 @@ export function buildAdminSettings( }; } +export function buildOAuth2Settings( + fragment: Partial, +): OAuth2Settings { + return { + clientId: fragment.clientId ?? '', + scope: fragment.scope ?? '', + issuer: fragment.issuer ?? '', + authorizationEndpoint: fragment.authorizationEndpoint ?? '', + }; +} + /* Prefetch */ export function prefetchSettings() { @@ -106,6 +121,13 @@ export function getIcalPassword() { }); } +export function getOAuth2Settings() { + const r = useGetOAuth2SettingsQuery(); + return wrapQuery(r, buildOAuth2Settings({}), (data) => { + return buildOAuth2Settings(data.oauth2Settings); + }); +} + /* Mutations */ export function useUpdateSettings() { diff --git a/front/src/graphql/Auth.graphql b/front/src/graphql/Auth.graphql index 91e6c72d4..cf5d3642a 100644 --- a/front/src/graphql/Auth.graphql +++ b/front/src/graphql/Auth.graphql @@ -32,6 +32,23 @@ mutation Login($login: String!, $password: String!) { } } +mutation LoginWithOAuth2( + $callbackUrl: String! + $expectedState: String + $pkceCodeVerifier: String +) { + loginWithOAuth2( + input: { + callbackUrl: $callbackUrl + expectedState: $expectedState + pkceCodeVerifier: $pkceCodeVerifier + } + ) { + jwt + login + } +} + mutation Register($login: String!, $password: String!) { register(input: { login: $login, password: $password }) { jwt diff --git a/front/src/graphql/Settings.graphql b/front/src/graphql/Settings.graphql index c3cc15a32..798b66ab8 100644 --- a/front/src/graphql/Settings.graphql +++ b/front/src/graphql/Settings.graphql @@ -4,6 +4,7 @@ fragment SettingsInfo on Setting { registrationPasswordAllowed style discordIntegrationEnabled + oauth2Enabled } fragment AdminSettingsInfo on Setting { @@ -14,6 +15,13 @@ fragment AdminSettingsInfo on Setting { icalPassword } +fragment OAuth2SettingsFragment on OAuth2Settings { + clientId + scope + issuer + authorizationEndpoint +} + query getSettings { settings { nodes { @@ -22,6 +30,12 @@ query getSettings { } } +query getOAuth2Settings { + oauth2Settings { + ...OAuth2SettingsFragment + } +} + query getIcalPassword { settings { nodes { diff --git a/front/src/router/routes.ts b/front/src/router/routes.ts index 13c33f033..e1de8347e 100644 --- a/front/src/router/routes.ts +++ b/front/src/router/routes.ts @@ -118,6 +118,13 @@ const authRoute: RouteRecordRaw = { props: (route) => ({ token: route.params.token }), component: () => import('components/Auth/ResetPassword.vue'), }, + { + path: 'oauth2/callback/:callbackUrl', + name: 'auth-oauth2-callback', + meta: { public: true, title: 'OAuth2 callback' }, + props: (route) => ({ callbackUrl: route.params.callbackUrl }), + component: () => import('components/Auth/OAuth2Callback.vue'), + }, ], }; diff --git a/front/yarn.lock b/front/yarn.lock index 4874a28c3..90f290797 100644 --- a/front/yarn.lock +++ b/front/yarn.lock @@ -6712,6 +6712,7 @@ __metadata: hotkeys-js: "npm:^3.13.7" jszip: "npm:^3.10.1" lint-staged: "npm:^15.2.10" + openid-client: "npm:^6.8.1" prettier: "npm:^3.3.3" quasar: "npm:^2.17.4" slugify: "npm:^1.6.6" @@ -9621,6 +9622,13 @@ __metadata: languageName: node linkType: hard +"jose@npm:^6.1.0": + version: 6.1.0 + resolution: "jose@npm:6.1.0" + checksum: 10/d111bc11fdb9566370992393615097d58618ba6ed29eee5d79b3bf4c460c93a6c0a9c5829d14b40342b376df16cde7d1bef79fda65c6bf09e1158875c17ae865 + languageName: node + linkType: hard + "js-tokens@npm:^3.0.0 || ^4.0.0, js-tokens@npm:^4.0.0": version: 4.0.0 resolution: "js-tokens@npm:4.0.0" @@ -10968,6 +10976,13 @@ __metadata: languageName: node linkType: hard +"oauth4webapi@npm:^3.8.2": + version: 3.8.2 + resolution: "oauth4webapi@npm:3.8.2" + checksum: 10/5f96b50dd50298402a15d5d545decab0ef20aa14fdd0fe6d6ccc9e47d645d795f0aebb0c1fd452e2504170d8880b89021a87a168aed4df64bf39a1ba7e85f245 + languageName: node + linkType: hard + "object-assign@npm:^4, object-assign@npm:^4.1.0, object-assign@npm:^4.1.1": version: 4.1.1 resolution: "object-assign@npm:4.1.1" @@ -11103,6 +11118,16 @@ __metadata: languageName: node linkType: hard +"openid-client@npm:^6.8.1": + version: 6.8.1 + resolution: "openid-client@npm:6.8.1" + dependencies: + jose: "npm:^6.1.0" + oauth4webapi: "npm:^3.8.2" + checksum: 10/94d18d39f8e9d4a194acdba85793a1e39a0f6fe50fdf2bdea4aa57409da629a8966a3673738510c5e9f6a32715259e26fb6e56e83b1b8d2de31346353aa437ad + languageName: node + linkType: hard + "optimism@npm:^0.18.0": version: 0.18.0 resolution: "optimism@npm:0.18.0" From ccc5f4b4d6d5faa52e5b42769d137afc4b07c0fd Mon Sep 17 00:00:00 2001 From: Minei3oat Date: Fri, 10 Oct 2025 00:24:21 +0200 Subject: [PATCH 2/5] Explain environment variables for OAuth 2.0 login in .env.example --- .env.example | 26 ++++++++++++++++++++++++++ api/src/plugins/loginWithOAuth2.ts | 2 +- 2 files changed, 27 insertions(+), 1 deletion(-) diff --git a/.env.example b/.env.example index 59d90f078..b6af211d6 100644 --- a/.env.example +++ b/.env.example @@ -35,3 +35,29 @@ # Can be generated with e.g. pwgen -s 64 1 # Please provide a string of length 64+ characters # SESSION_SECRET= + +# Enable login with OAuth 2.0 +# OAUTH2_ENABLED: false +# OAUTH2_CLIENT_ID: ctfnote +# OAUTH2_CLIENT_SECRET: insecure_secret +# OAUTH2_SCOPE: openid profile groups + +# The attribute to use as login and username +# OAUTH2_USERNAME_ATTR: name + +# The attribute to use for determining the user's role +# The attribute can either be a string or an array of strings +# In case of an array, the highest role will be selected +# OAUTH2_ROLE_ATTR: groups + +# A mapping for the values of the attribute to roles in CTFNote +# roles: user_admin, user_manager, user_member, user_fried, user_guest, none (no access to CTFNote) +# OAUTH2_ROLE_MAPPING: '{"admin": "user_admin"}' + +# Either specify the discovery url or all other properties +# If a discovery url is provided, the other properties overwrite the values from the discovery +# OAUTH2_DISCOVERY_URL: https://example.com/.well-known/openid-configuration +# OAUTH2_ISSUER: https://example.com +# OAUTH2_AUTHORIZATION_ENDPOINT: https://example.com/api/oidc/authorization +# OAUTH2_TOKEN_ENDPOINT: https://example.com/api/oidc/token +# OAUTH2_USERINFO_ENDPOINT: https://example.com/api/oidc/userinfo diff --git a/api/src/plugins/loginWithOAuth2.ts b/api/src/plugins/loginWithOAuth2.ts index f067b7ff1..28901cf0d 100644 --- a/api/src/plugins/loginWithOAuth2.ts +++ b/api/src/plugins/loginWithOAuth2.ts @@ -59,7 +59,7 @@ export async function checkOAuth2Enabled() { config.oauth2.tokenEndpoint || discoveryJson.token_endpoint, userinfoEndpoint: config.oauth2.userinfoEndpoint || discoveryJson.userinfo_endpoint, - issuer: discoveryJson.issuer || config.oauth2.issuer, + issuer: config.oauth2.issuer || discoveryJson.issuer, }; } catch (error) { console.error(`Failed to fetch ${config.oauth2.discoveryUrl}:`, error); From f2142c856af08154110898c1a5d9927a01cc6a4b Mon Sep 17 00:00:00 2001 From: Minei3oat Date: Fri, 10 Oct 2025 00:44:50 +0200 Subject: [PATCH 3/5] Mind role updates --- api/migrations/57-external-login.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/api/migrations/57-external-login.sql b/api/migrations/57-external-login.sql index db4302315..85c05a3ba 100644 --- a/api/migrations/57-external-login.sql +++ b/api/migrations/57-external-login.sql @@ -8,7 +8,7 @@ BEGIN INSERT INTO ctfnote_private.user ("login", "password", "role") VALUES (login_with_extern.name, 'external', login_with_extern.role) ON CONFLICT ("login") DO UPDATE - SET login = login_with_extern.name, password = 'external' + SET login = login_with_extern.name, password = 'external', role = login_with_extern.role RETURNING * INTO log_user; INSERT INTO ctfnote.profile ("id", "username") From adf36041520e5555851909099925c47dc08e524f Mon Sep 17 00:00:00 2001 From: Minei3oat Date: Fri, 10 Oct 2025 00:57:38 +0200 Subject: [PATCH 4/5] yarn run codegen --- front/graphql.schema.json | 229 +++++++++++++++++++++++++++++++++ front/src/generated/graphql.ts | 152 +++++++++++++++++++++- 2 files changed, 376 insertions(+), 5 deletions(-) diff --git a/front/graphql.schema.json b/front/graphql.schema.json index 2845f01c5..2aab6defe 100644 --- a/front/graphql.schema.json +++ b/front/graphql.schema.json @@ -6162,6 +6162,94 @@ "enumValues": null, "possibleTypes": null }, + { + "kind": "INPUT_OBJECT", + "name": "LoginWithOAuth2Input", + "description": null, + "isOneOf": false, + "fields": null, + "inputFields": [ + { + "name": "callbackUrl", + "description": null, + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "expectedState", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "pkceCodeVerifier", + "description": null, + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "LoginWithOAuth2Payload", + "description": null, + "isOneOf": null, + "fields": [ + { + "name": "jwt", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "Jwt", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "login", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, { "kind": "OBJECT", "name": "Mutation", @@ -6885,6 +6973,31 @@ "isDeprecated": false, "deprecationReason": null }, + { + "name": "loginWithOAuth2", + "description": null, + "args": [ + { + "name": "input", + "description": "The exclusive input argument for this mutation. An object type, make sure to see documentation for this object’s fields.", + "type": { + "kind": "INPUT_OBJECT", + "name": "LoginWithOAuth2Input", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + } + ], + "type": { + "kind": "OBJECT", + "name": "LoginWithOAuth2Payload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, { "name": "register", "description": null, @@ -7728,6 +7841,82 @@ } ] }, + { + "kind": "OBJECT", + "name": "OAuth2Settings", + "description": null, + "isOneOf": null, + "fields": [ + { + "name": "authorizationEndpoint", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "clientId", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "issuer", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "scope", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, { "kind": "OBJECT", "name": "PageInfo", @@ -10347,6 +10536,18 @@ "isDeprecated": false, "deprecationReason": null }, + { + "name": "oauth2Settings", + "description": null, + "args": [], + "type": { + "kind": "OBJECT", + "name": "OAuth2Settings", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, { "name": "pastCtf", "description": "Reads and enables pagination through a set of `Ctf`.", @@ -12515,6 +12716,22 @@ "isDeprecated": false, "deprecationReason": null }, + { + "name": "oauth2Enabled", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, { "name": "registrationAllowed", "description": null, @@ -12638,6 +12855,18 @@ "isDeprecated": false, "deprecationReason": null }, + { + "name": "oauth2Enabled", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null, + "isDeprecated": false, + "deprecationReason": null + }, { "name": "registrationAllowed", "description": null, diff --git a/front/src/generated/graphql.ts b/front/src/generated/graphql.ts index ecd1b0406..23028f81e 100644 --- a/front/src/generated/graphql.ts +++ b/front/src/generated/graphql.ts @@ -1188,6 +1188,18 @@ export type LoginPayload = { query?: Maybe; }; +export type LoginWithOAuth2Input = { + callbackUrl: Scalars['String']['input']; + expectedState?: InputMaybe; + pkceCodeVerifier?: InputMaybe; +}; + +export type LoginWithOAuth2Payload = { + __typename?: 'LoginWithOAuth2Payload'; + jwt?: Maybe; + login?: Maybe; +}; + /** The root mutation type which contains root level fields which mutate data. */ export type Mutation = { __typename?: 'Mutation'; @@ -1231,6 +1243,7 @@ export type Mutation = { deleteWorkOnTaskByNodeId?: Maybe; importCtf?: Maybe; login?: Maybe; + loginWithOAuth2?: Maybe; register?: Maybe; registerWithPassword?: Maybe; registerWithToken?: Maybe; @@ -1423,6 +1436,12 @@ export type MutationLoginArgs = { }; +/** The root mutation type which contains root level fields which mutate data. */ +export type MutationLoginWithOAuth2Args = { + input?: InputMaybe; +}; + + /** The root mutation type which contains root level fields which mutate data. */ export type MutationRegisterArgs = { input: RegisterInput; @@ -1584,6 +1603,14 @@ export type Node = { nodeId: Scalars['ID']['output']; }; +export type OAuth2Settings = { + __typename?: 'OAuth2Settings'; + authorizationEndpoint: Scalars['String']['output']; + clientId: Scalars['String']['output']; + issuer: Scalars['String']['output']; + scope: Scalars['String']['output']; +}; + /** Information about pagination in a connection. */ export type PageInfo = { __typename?: 'PageInfo'; @@ -1857,6 +1884,7 @@ export type Query = Node & { node?: Maybe; /** The root query type must be a `Node` to work well with Relay 1 mutations. This just resolves to `query`. */ nodeId: Scalars['ID']['output']; + oauth2Settings?: Maybe; /** Reads and enables pagination through a set of `Ctf`. */ pastCtf?: Maybe; profile?: Maybe; @@ -2407,6 +2435,7 @@ export type Setting = Node & { icalPassword?: Maybe; /** A globally unique identifier. Can be used in various places throughout the system to identify this single value. */ nodeId: Scalars['ID']['output']; + oauth2Enabled: Scalars['Boolean']['output']; registrationAllowed: Scalars['Boolean']['output']; registrationDefaultRole: Role; registrationPassword: Scalars['String']['output']; @@ -2418,6 +2447,7 @@ export type Setting = Node & { export type SettingPatch = { discordIntegrationEnabled?: InputMaybe; icalPassword?: InputMaybe; + oauth2Enabled?: InputMaybe; registrationAllowed?: InputMaybe; registrationDefaultRole?: InputMaybe; registrationPassword?: InputMaybe; @@ -3519,6 +3549,15 @@ export type LoginMutationVariables = Exact<{ export type LoginMutation = { __typename?: 'Mutation', login?: { __typename?: 'LoginPayload', jwt?: string | null } | null }; +export type LoginWithOAuth2MutationVariables = Exact<{ + callbackUrl: Scalars['String']['input']; + expectedState?: InputMaybe; + pkceCodeVerifier?: InputMaybe; +}>; + + +export type LoginWithOAuth2Mutation = { __typename?: 'Mutation', loginWithOAuth2?: { __typename?: 'LoginWithOAuth2Payload', jwt?: string | null, login?: string | null } | null }; + export type RegisterMutationVariables = Exact<{ login: Scalars['String']['input']; password: Scalars['String']['input']; @@ -3768,14 +3807,21 @@ export type UpdateCredentialsForCtfIdMutationVariables = Exact<{ export type UpdateCredentialsForCtfIdMutation = { __typename?: 'Mutation', updateCtfSecret?: { __typename?: 'UpdateCtfSecretPayload', ctfSecret?: { __typename?: 'CtfSecret', nodeId: string, credentials?: string | null } | null } | null }; -export type SettingsInfoFragment = { __typename?: 'Setting', nodeId: string, registrationAllowed: boolean, registrationPasswordAllowed: boolean, style: string, discordIntegrationEnabled: boolean }; +export type SettingsInfoFragment = { __typename?: 'Setting', nodeId: string, registrationAllowed: boolean, registrationPasswordAllowed: boolean, style: string, discordIntegrationEnabled: boolean, oauth2Enabled: boolean }; -export type AdminSettingsInfoFragment = { __typename?: 'Setting', nodeId: string, registrationPassword: string, registrationDefaultRole: Role, icalPassword?: string | null, registrationAllowed: boolean, registrationPasswordAllowed: boolean, style: string, discordIntegrationEnabled: boolean }; +export type AdminSettingsInfoFragment = { __typename?: 'Setting', nodeId: string, registrationPassword: string, registrationDefaultRole: Role, icalPassword?: string | null, registrationAllowed: boolean, registrationPasswordAllowed: boolean, style: string, discordIntegrationEnabled: boolean, oauth2Enabled: boolean }; + +export type OAuth2SettingsFragment = { __typename?: 'OAuth2Settings', clientId: string, scope: string, issuer: string, authorizationEndpoint: string }; export type GetSettingsQueryVariables = Exact<{ [key: string]: never; }>; -export type GetSettingsQuery = { __typename?: 'Query', settings?: { __typename?: 'SettingsConnection', nodes: Array<{ __typename?: 'Setting', nodeId: string, registrationAllowed: boolean, registrationPasswordAllowed: boolean, style: string, discordIntegrationEnabled: boolean }> } | null }; +export type GetSettingsQuery = { __typename?: 'Query', settings?: { __typename?: 'SettingsConnection', nodes: Array<{ __typename?: 'Setting', nodeId: string, registrationAllowed: boolean, registrationPasswordAllowed: boolean, style: string, discordIntegrationEnabled: boolean, oauth2Enabled: boolean }> } | null }; + +export type GetOAuth2SettingsQueryVariables = Exact<{ [key: string]: never; }>; + + +export type GetOAuth2SettingsQuery = { __typename?: 'Query', oauth2Settings?: { __typename?: 'OAuth2Settings', clientId: string, scope: string, issuer: string, authorizationEndpoint: string } | null }; export type GetIcalPasswordQueryVariables = Exact<{ [key: string]: never; }>; @@ -3785,7 +3831,7 @@ export type GetIcalPasswordQuery = { __typename?: 'Query', settings?: { __typena export type GetAdminSettingsQueryVariables = Exact<{ [key: string]: never; }>; -export type GetAdminSettingsQuery = { __typename?: 'Query', settings?: { __typename?: 'SettingsConnection', nodes: Array<{ __typename?: 'Setting', nodeId: string, registrationPassword: string, registrationDefaultRole: Role, icalPassword?: string | null, registrationAllowed: boolean, registrationPasswordAllowed: boolean, style: string, discordIntegrationEnabled: boolean }> } | null }; +export type GetAdminSettingsQuery = { __typename?: 'Query', settings?: { __typename?: 'SettingsConnection', nodes: Array<{ __typename?: 'Setting', nodeId: string, registrationPassword: string, registrationDefaultRole: Role, icalPassword?: string | null, registrationAllowed: boolean, registrationPasswordAllowed: boolean, style: string, discordIntegrationEnabled: boolean, oauth2Enabled: boolean }> } | null }; export type UpdateSettingsMutationVariables = Exact<{ nodeId: Scalars['ID']['input']; @@ -3793,7 +3839,7 @@ export type UpdateSettingsMutationVariables = Exact<{ }>; -export type UpdateSettingsMutation = { __typename?: 'Mutation', updateSettingByNodeId?: { __typename?: 'UpdateSettingPayload', setting?: { __typename?: 'Setting', nodeId: string, registrationPassword: string, registrationDefaultRole: Role, icalPassword?: string | null, registrationAllowed: boolean, registrationPasswordAllowed: boolean, style: string, discordIntegrationEnabled: boolean } | null } | null }; +export type UpdateSettingsMutation = { __typename?: 'Mutation', updateSettingByNodeId?: { __typename?: 'UpdateSettingPayload', setting?: { __typename?: 'Setting', nodeId: string, registrationPassword: string, registrationDefaultRole: Role, icalPassword?: string | null, registrationAllowed: boolean, registrationPasswordAllowed: boolean, style: string, discordIntegrationEnabled: boolean, oauth2Enabled: boolean } | null } | null }; export type TagFragment = { __typename?: 'Tag', nodeId: string, id: number, tag: string }; @@ -4063,6 +4109,7 @@ export const SettingsInfoFragmentDoc = gql` registrationPasswordAllowed style discordIntegrationEnabled + oauth2Enabled } `; export const AdminSettingsInfoFragmentDoc = gql` @@ -4074,6 +4121,14 @@ export const AdminSettingsInfoFragmentDoc = gql` icalPassword } ${SettingsInfoFragmentDoc}`; +export const OAuth2SettingsFragmentDoc = gql` + fragment OAuth2SettingsFragment on OAuth2Settings { + clientId + scope + issuer + authorizationEndpoint +} + `; export const TaskForTagsFragementFragmentDoc = gql` fragment TaskForTagsFragement on AssignedTag { nodeId @@ -4459,6 +4514,40 @@ export function useLoginMutation(options: VueApolloComposable.UseMutationOptions return VueApolloComposable.useMutation(LoginDocument, options); } export type LoginMutationCompositionFunctionResult = VueApolloComposable.UseMutationReturn; +export const LoginWithOAuth2Document = gql` + mutation LoginWithOAuth2($callbackUrl: String!, $expectedState: String, $pkceCodeVerifier: String) { + loginWithOAuth2( + input: {callbackUrl: $callbackUrl, expectedState: $expectedState, pkceCodeVerifier: $pkceCodeVerifier} + ) { + jwt + login + } +} + `; + +/** + * __useLoginWithOAuth2Mutation__ + * + * To run a mutation, you first call `useLoginWithOAuth2Mutation` within a Vue component and pass it any options that fit your needs. + * When your component renders, `useLoginWithOAuth2Mutation` returns an object that includes: + * - A mutate function that you can call at any time to execute the mutation + * - Several other properties: https://v4.apollo.vuejs.org/api/use-mutation.html#return + * + * @param options that will be passed into the mutation, supported options are listed on: https://v4.apollo.vuejs.org/guide-composable/mutation.html#options; + * + * @example + * const { mutate, loading, error, onDone } = useLoginWithOAuth2Mutation({ + * variables: { + * callbackUrl: // value for 'callbackUrl' + * expectedState: // value for 'expectedState' + * pkceCodeVerifier: // value for 'pkceCodeVerifier' + * }, + * }); + */ +export function useLoginWithOAuth2Mutation(options: VueApolloComposable.UseMutationOptions | ReactiveFunction> = {}) { + return VueApolloComposable.useMutation(LoginWithOAuth2Document, options); +} +export type LoginWithOAuth2MutationCompositionFunctionResult = VueApolloComposable.UseMutationReturn; export const RegisterDocument = gql` mutation Register($login: String!, $password: String!) { register(input: {login: $login, password: $password}) { @@ -5544,6 +5633,33 @@ export function useGetSettingsLazyQuery(options: VueApolloComposable.UseQueryOpt return VueApolloComposable.useLazyQuery(GetSettingsDocument, {}, options); } export type GetSettingsQueryCompositionFunctionResult = VueApolloComposable.UseQueryReturn; +export const GetOAuth2SettingsDocument = gql` + query getOAuth2Settings { + oauth2Settings { + ...OAuth2SettingsFragment + } +} + ${OAuth2SettingsFragmentDoc}`; + +/** + * __useGetOAuth2SettingsQuery__ + * + * To run a query within a Vue component, call `useGetOAuth2SettingsQuery` and pass it any options that fit your needs. + * When your component renders, `useGetOAuth2SettingsQuery` returns an object from Apollo Client that contains result, loading and error properties + * you can use to render your UI. + * + * @param options that will be passed into the query, supported options are listed on: https://v4.apollo.vuejs.org/guide-composable/query.html#options; + * + * @example + * const { result, loading, error } = useGetOAuth2SettingsQuery(); + */ +export function useGetOAuth2SettingsQuery(options: VueApolloComposable.UseQueryOptions | VueCompositionApi.Ref> | ReactiveFunction> = {}) { + return VueApolloComposable.useQuery(GetOAuth2SettingsDocument, {}, options); +} +export function useGetOAuth2SettingsLazyQuery(options: VueApolloComposable.UseQueryOptions | VueCompositionApi.Ref> | ReactiveFunction> = {}) { + return VueApolloComposable.useLazyQuery(GetOAuth2SettingsDocument, {}, options); +} +export type GetOAuth2SettingsQueryCompositionFunctionResult = VueApolloComposable.UseQueryReturn; export const GetIcalPasswordDocument = gql` query getIcalPassword { settings { @@ -6300,6 +6416,7 @@ export const SettingsInfo = gql` registrationPasswordAllowed style discordIntegrationEnabled + oauth2Enabled } `; export const AdminSettingsInfo = gql` @@ -6311,6 +6428,14 @@ export const AdminSettingsInfo = gql` icalPassword } ${SettingsInfo}`; +export const OAuth2SettingsFragment = gql` + fragment OAuth2SettingsFragment on OAuth2Settings { + clientId + scope + issuer + authorizationEndpoint +} + `; export const TaskForTagsFragement = gql` fragment TaskForTagsFragement on AssignedTag { nodeId @@ -6422,6 +6547,16 @@ export const Login = gql` } } `; +export const LoginWithOAuth2 = gql` + mutation LoginWithOAuth2($callbackUrl: String!, $expectedState: String, $pkceCodeVerifier: String) { + loginWithOAuth2( + input: {callbackUrl: $callbackUrl, expectedState: $expectedState, pkceCodeVerifier: $pkceCodeVerifier} + ) { + jwt + login + } +} + `; export const Register = gql` mutation Register($login: String!, $password: String!) { register(input: {login: $login, password: $password}) { @@ -6774,6 +6909,13 @@ export const GetSettings = gql` } } ${SettingsInfo}`; +export const GetOAuth2Settings = gql` + query getOAuth2Settings { + oauth2Settings { + ...OAuth2SettingsFragment + } +} + ${OAuth2SettingsFragment}`; export const GetIcalPassword = gql` query getIcalPassword { settings { From 529f0b45e055fce630f81d1b14b9f569d70cb153 Mon Sep 17 00:00:00 2001 From: Minei3oat Date: Fri, 10 Oct 2025 01:25:44 +0200 Subject: [PATCH 5/5] Drop useless code --- api/migrations/57-external-login.sql | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/api/migrations/57-external-login.sql b/api/migrations/57-external-login.sql index 85c05a3ba..d7b7933f5 100644 --- a/api/migrations/57-external-login.sql +++ b/api/migrations/57-external-login.sql @@ -8,7 +8,7 @@ BEGIN INSERT INTO ctfnote_private.user ("login", "password", "role") VALUES (login_with_extern.name, 'external', login_with_extern.role) ON CONFLICT ("login") DO UPDATE - SET login = login_with_extern.name, password = 'external', role = login_with_extern.role + SET password = 'external', role = login_with_extern.role RETURNING * INTO log_user; INSERT INTO ctfnote.profile ("id", "username")