mirror of
https://github.com/awatertrevi/infisical.git
synced 2026-10-16 01:05:40 +00:00
Update login with multiple auth methods to toggle button and logic
This commit is contained in:
@@ -8,7 +8,7 @@ import { body, param } from "express-validator";
|
||||
import { usersController } from "../../controllers/v2";
|
||||
import { AuthMode } from "../../variables";
|
||||
import {
|
||||
AuthProvider
|
||||
AuthMethod
|
||||
} from "../../models";
|
||||
|
||||
router.get(
|
||||
@@ -40,36 +40,22 @@ router.patch(
|
||||
usersController.updateName
|
||||
);
|
||||
|
||||
router.patch(
|
||||
"/me/auth-provider",
|
||||
router.put(
|
||||
"/me/auth-methods",
|
||||
requireAuth({
|
||||
acceptedAuthModes: [AuthMode.JWT, AuthMode.API_KEY],
|
||||
}),
|
||||
body("authProvider").exists().isString().isIn([
|
||||
AuthProvider.EMAIL,
|
||||
AuthProvider.GOOGLE,
|
||||
AuthProvider.GITHUB
|
||||
]),
|
||||
validateRequest,
|
||||
usersController.updateAuthProvider
|
||||
);
|
||||
|
||||
router.put(
|
||||
"/me/auth-providers",
|
||||
requireAuth({
|
||||
acceptedAuthModes: [AUTH_MODE_JWT, AUTH_MODE_API_KEY],
|
||||
}),
|
||||
body("authProviders").exists().isArray({
|
||||
body("authMethods").exists().isArray({
|
||||
min: 1,
|
||||
}).custom((authProviders: AuthProvider[]) => {
|
||||
return authProviders.every(provider => [
|
||||
AuthProvider.EMAIL,
|
||||
AuthProvider.GOOGLE,
|
||||
AuthProvider.GITHUB
|
||||
}).custom((authMethods: AuthMethod[]) => {
|
||||
return authMethods.every(provider => [
|
||||
AuthMethod.EMAIL,
|
||||
AuthMethod.GOOGLE,
|
||||
AuthMethod.GITHUB
|
||||
].includes(provider))
|
||||
}),
|
||||
validateRequest,
|
||||
usersController.updateAuthProviders,
|
||||
usersController.updateAuthMethods,
|
||||
);
|
||||
|
||||
router.get(
|
||||
|
||||
Reference in New Issue
Block a user