@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
|
|
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
|
|
39
|
-
"@budibase/pro": "2.4.
|
|
40
|
-
"@budibase/string-templates": "2.4.5
|
|
41
|
-
"@budibase/types": "2.4.5
|
|
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": "
|
|
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(
|
|
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(
|
|
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)", () => {
|
package/src/environment.ts
CHANGED
|
@@ -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
|
package/src/sdk/users/users.ts
CHANGED
|
@@ -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)) {
|