Fixing typing issues.

This commit is contained in:
mike12345567 2023-12-05 18:17:27 +00:00
parent 3cd44d850a
commit 8628c67c90
9 changed files with 26 additions and 14 deletions

View File

@ -19,7 +19,7 @@ import {
GoogleInnerConfig,
OIDCInnerConfig,
PlatformLogoutOpts,
SessionInfo,
SessionCookie,
SSOProviderType,
} from "@budibase/types"
import * as events from "../events"
@ -191,7 +191,7 @@ export async function platformLogout(opts: PlatformLogoutOpts) {
if (!ctx) throw new Error("Koa context must be supplied to logout.")
const currentSession = getCookie<SessionInfo>(ctx, Cookie.Auth)
const currentSession = getCookie<SessionCookie>(ctx, Cookie.Auth)
let sessions = await getSessionsForUser(userId)
if (currentSession && keepActiveSession) {

View File

@ -13,7 +13,7 @@ import { getGlobalDB, doInTenant } from "../context"
import { decrypt } from "../security/encryption"
import * as identity from "../context/identity"
import env from "../environment"
import { Ctx, EndpointMatcher, SessionInfo } from "@budibase/types"
import { Ctx, EndpointMatcher, SessionCookie } from "@budibase/types"
import { InvalidAPIKeyError, ErrorCode } from "../errors"
const ONE_MINUTE = env.SESSION_UPDATE_PERIOD
@ -99,8 +99,8 @@ export default function (
let headerToken = ctx.request.headers[Header.TOKEN]
const authCookie =
getCookie<SessionInfo>(ctx, Cookie.Auth) ||
openJwt<SessionInfo>(headerToken)
getCookie<SessionCookie>(ctx, Cookie.Auth) ||
openJwt<SessionCookie>(headerToken)
let apiKey = ctx.request.headers[Header.API_KEY]
if (!apiKey && ctx.request.headers[Header.AUTHORIZATION]) {

View File

@ -3,7 +3,7 @@ import { Cookie } from "../../../constants"
import * as configs from "../../../configs"
import * as cache from "../../../cache"
import * as utils from "../../../utils"
import { UserCtx, SSOProfile } from "@budibase/types"
import { UserCtx, SSOProfile, DatasourceAuthCookie } from "@budibase/types"
import { ssoSaveUserNoOp } from "../sso/sso"
const GoogleStrategy = require("passport-google-oauth").OAuth2Strategy

View File

@ -9,7 +9,7 @@ import { quotas } from "@budibase/pro"
import { events, context, utils, constants } from "@budibase/backend-core"
import sdk from "../../../sdk"
import { QueryEvent } from "../../../threads/definitions"
import { ConfigType, Query, UserCtx } from "@budibase/types"
import { ConfigType, Query, UserCtx, SessionCookie } from "@budibase/types"
import { ValidQueryNameRegex } from "@budibase/shared-core"
const Runner = new Thread(ThreadType.QUERY, {
@ -113,7 +113,7 @@ function getOAuthConfigCookieId(ctx: UserCtx) {
}
function getAuthConfig(ctx: UserCtx) {
const authCookie = utils.getCookie(ctx, constants.Cookie.Auth)
const authCookie = utils.getCookie<SessionCookie>(ctx, constants.Cookie.Auth)
let authConfigCtx: any = {}
authConfigCtx["configId"] = getOAuthConfigCookieId(ctx)
authConfigCtx["sessionId"] = authCookie ? authCookie.sessionId : null

View File

@ -0,0 +1,9 @@
export interface DatasourceAuthCookie {
appId: string
provider: string
}
export interface SessionCookie {
sessionId: string
userId: string
}

View File

@ -4,4 +4,3 @@ export * from "./events"
export * from "./configs"
export * from "./scim"
export * from "./license"
export * from "./sessions"

View File

@ -1,4 +0,0 @@
export interface SessionInfo {
sessionId: string
userId: string
}

View File

@ -9,3 +9,4 @@ export * from "./app"
export * from "./global"
export * from "./pagination"
export * from "./searchFilter"
export * from "./cookies"

View File

@ -15,6 +15,7 @@ import {
PasswordResetRequest,
PasswordResetUpdateRequest,
GoogleInnerConfig,
DatasourceAuthCookie,
} from "@budibase/types"
import env from "../../../environment"
@ -148,7 +149,13 @@ export const datasourcePreAuth = async (ctx: any, next: any) => {
}
export const datasourceAuth = async (ctx: any, next: any) => {
const authStateCookie = getCookie(ctx, Cookie.DatasourceAuth)
const authStateCookie = getCookie<DatasourceAuthCookie>(
ctx,
Cookie.DatasourceAuth
)
if (!authStateCookie) {
throw new Error("Unable to retrieve datasource authentication cookie")
}
const provider = authStateCookie.provider
const { middleware } = require(`@budibase/backend-core`)
const handler = middleware.datasource[provider]