1
0
Fork 0
mirror of synced 2024-05-19 03:43:08 +12:00
budibase/packages/worker/src/api/routes/global/auth.js

89 lines
2.5 KiB
JavaScript
Raw Normal View History

const Router = require("@koa/router")
const authController = require("../../controllers/global/auth")
2022-07-22 22:50:51 +12:00
const { joiValidator } = require("@budibase/backend-core/auth")
const Joi = require("joi")
const router = new Router()
function buildAuthValidation() {
// prettier-ignore
return joiValidator.body(Joi.object({
username: Joi.string().required(),
password: Joi.string().required(),
}).required().unknown(false))
}
function buildResetValidation() {
// prettier-ignore
return joiValidator.body(Joi.object({
email: Joi.string().required(),
}).required().unknown(false))
}
function buildResetUpdateValidation() {
// prettier-ignore
return joiValidator.body(Joi.object({
resetCode: Joi.string().required(),
password: Joi.string().required(),
}).required().unknown(false))
}
router
// PASSWORD
.post(
"/api/global/auth/:tenantId/login",
buildAuthValidation(),
authController.authenticate
)
.post("/api/global/auth/logout", authController.logout)
.post(
"/api/global/auth/:tenantId/reset",
buildResetValidation(),
authController.reset
)
.post(
"/api/global/auth/:tenantId/reset/update",
buildResetUpdateValidation(),
authController.resetUpdate
)
// INIT
2021-11-05 02:03:18 +13:00
.post("/api/global/auth/init", authController.setInitInfo)
.get("/api/global/auth/init", authController.getInitInfo)
// DATASOURCE - MULTI TENANT
2022-01-06 21:08:54 +13:00
.get(
2022-01-18 03:52:10 +13:00
"/api/global/auth/:tenantId/datasource/:provider",
authController.datasourcePreAuth
2022-01-06 21:08:54 +13:00
)
2022-01-18 03:52:10 +13:00
.get(
"/api/global/auth/:tenantId/datasource/:provider/callback",
2022-01-18 03:52:10 +13:00
authController.datasourceAuth
)
// DATASOURCE - SINGLE TENANT - DEPRECATED
.get(
"/api/global/auth/datasource/:provider/callback",
authController.datasourceAuth
)
// GOOGLE - MULTI TENANT
.get("/api/global/auth/:tenantId/google", authController.googlePreAuth)
.get("/api/global/auth/:tenantId/google/callback", authController.googleAuth)
// GOOGLE - SINGLE TENANT - DEPRECATED
.get("/api/global/auth/google/callback", authController.googleAuth)
.get("/api/admin/auth/google/callback", authController.googleAuth)
// OIDC - MULTI TENANT
.get(
"/api/global/auth/:tenantId/oidc/configs/:configId",
authController.oidcPreAuth
)
.get("/api/global/auth/:tenantId/oidc/callback", authController.oidcAuth)
// OIDC - SINGLE TENANT - DEPRECATED
.get("/api/global/auth/oidc/callback", authController.oidcAuth)
.get("/api/admin/auth/oidc/callback", authController.oidcAuth)
module.exports = router