@budibase/worker 2.4.5-alpha.1 → 2.4.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,7 +1,8 @@
1
1
  {
2
2
  "name": "@budibase/worker",
3
3
  "email": "hi@budibase.com",
4
- "version": "2.4.5-alpha.1",
4
+ "version": "2.4.5",
5
+ "description": "Budibase background service",
5
6
  "main": "src/index.ts",
6
7
  "repository": {
7
8
  "type": "git",
@@ -35,10 +36,10 @@
35
36
  "author": "Budibase",
36
37
  "license": "GPL-3.0",
37
38
  "dependencies": {
38
- "@budibase/backend-core": "2.4.5-alpha.1",
39
- "@budibase/pro": "2.4.5-alpha.0",
40
- "@budibase/string-templates": "2.4.5-alpha.1",
41
- "@budibase/types": "2.4.5-alpha.1",
39
+ "@budibase/backend-core": "^2.4.5",
40
+ "@budibase/pro": "2.4.4",
41
+ "@budibase/string-templates": "^2.4.5",
42
+ "@budibase/types": "^2.4.5",
42
43
  "@koa/router": "8.0.8",
43
44
  "@sentry/node": "6.17.7",
44
45
  "@techpass/passport-openidconnect": "0.3.2",
@@ -100,5 +101,5 @@
100
101
  "typescript": "4.7.3",
101
102
  "update-dotenv": "1.1.1"
102
103
  },
103
- "gitHead": "85f8b761dd827719c26b5e8f73561d3a1ae617be"
104
+ "gitHead": "bbf52a9c30022f275eaf6f1a4591bbc268678354"
104
105
  }
@@ -204,16 +204,13 @@ export const googleCallback = async (ctx: any, next: any) => {
204
204
 
205
205
  return passport.authenticate(
206
206
  strategy,
207
- {
208
- successRedirect: env.PASSPORT_GOOGLEAUTH_SUCCESS_REDIRECT,
209
- failureRedirect: env.PASSPORT_GOOGLEAUTH_FAILURE_REDIRECT,
210
- },
207
+ { successRedirect: "/", failureRedirect: "/error" },
211
208
  async (err: any, user: SSOUser, info: any) => {
212
209
  await passportCallback(ctx, user, err, info)
213
210
  await context.identity.doInUserContext(user, ctx, async () => {
214
211
  await events.auth.login("google-internal", user.email)
215
212
  })
216
- ctx.redirect(env.PASSPORT_GOOGLEAUTH_SUCCESS_REDIRECT)
213
+ ctx.redirect("/")
217
214
  }
218
215
  )(ctx, next)
219
216
  }
@@ -272,16 +269,13 @@ export const oidcCallback = async (ctx: any, next: any) => {
272
269
 
273
270
  return passport.authenticate(
274
271
  strategy,
275
- {
276
- successRedirect: env.PASSPORT_OIDCAUTH_SUCCESS_REDIRECT,
277
- failureRedirect: env.PASSPORT_OIDCAUTH_FAILURE_REDIRECT,
278
- },
272
+ { successRedirect: "/", failureRedirect: "/error" },
279
273
  async (err: any, user: SSOUser, info: any) => {
280
274
  await passportCallback(ctx, user, err, info)
281
275
  await context.identity.doInUserContext(user, ctx, async () => {
282
276
  await events.auth.login("oidc", user.email)
283
277
  })
284
- ctx.redirect(env.PASSPORT_OIDCAUTH_SUCCESS_REDIRECT)
278
+ ctx.redirect("/")
285
279
  }
286
280
  )(ctx, next)
287
281
  }
@@ -4,6 +4,7 @@ jest.mock("nodemailer")
4
4
  import { TestConfiguration, mocks, structures } from "../../../../tests"
5
5
  const sendMailMock = mocks.email.mock()
6
6
  import { events, tenancy, accounts as _accounts } from "@budibase/backend-core"
7
+ import * as userSdk from "../../../../sdk/users"
7
8
 
8
9
  const accounts = jest.mocked(_accounts)
9
10
 
@@ -468,6 +469,20 @@ describe("/api/global/users", () => {
468
469
  config.authHeaders(nonAdmin)
469
470
  )
470
471
  })
472
+
473
+ describe("sso users", () => {
474
+ function createSSOUser() {
475
+ return config.doInTenant(() => {
476
+ const user = structures.users.ssoUser()
477
+ return userSdk.save(user, { requirePassword: false })
478
+ })
479
+ }
480
+
481
+ it("should be able to update an sso user that has no password", async () => {
482
+ const user = await createSSOUser()
483
+ await config.api.users.saveUser(user)
484
+ })
485
+ })
471
486
  })
472
487
 
473
488
  describe("POST /api/global/users/bulk (delete)", () => {
@@ -69,15 +69,6 @@ const environment = {
69
69
  * Mock the email service in use - links to ethereal hosted emails are logged instead.
70
70
  */
71
71
  ENABLE_EMAIL_TEST_MODE: process.env.ENABLE_EMAIL_TEST_MODE,
72
- PASSPORT_GOOGLEAUTH_SUCCESS_REDIRECT:
73
- process.env.PASSPORT_GOOGLEAUTH_SUCCESS_REDIRECT || "/",
74
- PASSPORT_GOOGLEAUTH_FAILURE_REDIRECT:
75
- process.env.PASSPORT_GOOGLEAUTH_FAILURE_REDIRECT || "/error",
76
- PASSPORT_OIDCAUTH_SUCCESS_REDIRECT:
77
- process.env.PASSPORT_OIDCAUTH_SUCCESS_REDIRECT || "/",
78
- PASSPORT_OIDCAUTH_FAILURE_REDIRECT:
79
- process.env.PASSPORT_OIDCAUTH_FAILURE_REDIRECT || "/error",
80
-
81
72
  _set(key: any, value: any) {
82
73
  process.env[key] = value
83
74
  // @ts-ignore
@@ -131,6 +131,11 @@ const buildUser = async (
131
131
  ): Promise<User> => {
132
132
  let { password, _id } = user
133
133
 
134
+ // don't require a password if the db user doesn't already have one
135
+ if (dbUser && !dbUser.password) {
136
+ opts.requirePassword = false
137
+ }
138
+
134
139
  let hashedPassword
135
140
  if (password) {
136
141
  if (await isPreventPasswordActions(user)) {