mirror of
https://github.com/awatertrevi/infisical.git
synced 2026-10-14 14:34:09 +00:00
feat: enabled sso to bypass org sso
This commit is contained in:
@@ -269,12 +269,14 @@ export const InitialStep = ({
|
||||
variant="outline_bg"
|
||||
onClick={() => {
|
||||
const callbackPort = queryParams.get("callback_port");
|
||||
const queryString = [
|
||||
callbackPort && `callback_port=${callbackPort}`,
|
||||
isAdmin && "is_admin_login=true"
|
||||
]
|
||||
.filter(Boolean)
|
||||
.join("&");
|
||||
|
||||
window.open(
|
||||
`/api/v1/sso/redirect/google${
|
||||
callbackPort ? `?callback_port=${callbackPort}` : ""
|
||||
}`
|
||||
);
|
||||
window.open(`/api/v1/sso/redirect/google${queryString ? `?${queryString}` : ""}`);
|
||||
window.close();
|
||||
}}
|
||||
className="h-10 w-full bg-mineshaft-600"
|
||||
@@ -291,13 +293,14 @@ export const InitialStep = ({
|
||||
variant="outline_bg"
|
||||
onClick={() => {
|
||||
const callbackPort = queryParams.get("callback_port");
|
||||
const queryString = [
|
||||
callbackPort && `callback_port=${callbackPort}`,
|
||||
isAdmin && "is_admin_login=true"
|
||||
]
|
||||
.filter(Boolean)
|
||||
.join("&");
|
||||
|
||||
window.open(
|
||||
`/api/v1/sso/redirect/github${
|
||||
callbackPort ? `?callback_port=${callbackPort}` : ""
|
||||
}`
|
||||
);
|
||||
|
||||
window.open(`/api/v1/sso/redirect/github${queryString ? `?${queryString}` : ""}`);
|
||||
window.close();
|
||||
}}
|
||||
className="h-10 w-full bg-mineshaft-600"
|
||||
@@ -314,13 +317,14 @@ export const InitialStep = ({
|
||||
variant="outline_bg"
|
||||
onClick={() => {
|
||||
const callbackPort = queryParams.get("callback_port");
|
||||
const queryString = [
|
||||
callbackPort && `callback_port=${callbackPort}`,
|
||||
isAdmin && "is_admin_login=true"
|
||||
]
|
||||
.filter(Boolean)
|
||||
.join("&");
|
||||
|
||||
window.open(
|
||||
`/api/v1/sso/redirect/gitlab${
|
||||
callbackPort ? `?callback_port=${callbackPort}` : ""
|
||||
}`
|
||||
);
|
||||
|
||||
window.open(`/api/v1/sso/redirect/gitlab${queryString ? `?${queryString}` : ""}`);
|
||||
window.close();
|
||||
}}
|
||||
className="h-10 w-full bg-mineshaft-600"
|
||||
|
||||
@@ -27,9 +27,16 @@ type Props = {
|
||||
email: string;
|
||||
password: string;
|
||||
setPassword: (password: string) => void;
|
||||
isAdminLogin?: boolean;
|
||||
};
|
||||
|
||||
export const PasswordStep = ({ providerAuthToken, email, password, setPassword }: Props) => {
|
||||
export const PasswordStep = ({
|
||||
providerAuthToken,
|
||||
email,
|
||||
password,
|
||||
setPassword,
|
||||
isAdminLogin
|
||||
}: Props) => {
|
||||
const [isLoading, setIsLoading] = useState(false);
|
||||
const { t } = useTranslation();
|
||||
const navigate = useNavigate();
|
||||
@@ -114,7 +121,7 @@ export const PasswordStep = ({ providerAuthToken, email, password, setPassword }
|
||||
|
||||
// case: user has orgs, so we navigate the user to select an org
|
||||
if (userOrgs.length > 0) {
|
||||
navigateToSelectOrganization(callbackPort);
|
||||
navigateToSelectOrganization(callbackPort, isAdminLogin);
|
||||
}
|
||||
// case: no orgs found, so we navigate the user to create an org
|
||||
else {
|
||||
@@ -216,7 +223,7 @@ export const PasswordStep = ({ providerAuthToken, email, password, setPassword }
|
||||
|
||||
// case: user has orgs, so we navigate the user to select an org
|
||||
if (userOrgs.length > 0) {
|
||||
navigateToSelectOrganization(callbackPort);
|
||||
navigateToSelectOrganization(callbackPort, isAdminLogin);
|
||||
}
|
||||
// case: no orgs found, so we navigate the user to create an org
|
||||
else {
|
||||
@@ -249,7 +256,7 @@ export const PasswordStep = ({ providerAuthToken, email, password, setPassword }
|
||||
const userOrgs = await fetchOrganizations();
|
||||
|
||||
if (userOrgs.length > 0) {
|
||||
navigateToSelectOrganization();
|
||||
navigateToSelectOrganization(undefined, isAdminLogin);
|
||||
} else {
|
||||
await navigateUserToOrg(navigate);
|
||||
}
|
||||
|
||||
@@ -34,6 +34,7 @@ export const LoginSsoPage = () => {
|
||||
email={username}
|
||||
password={password}
|
||||
setPassword={setPassword}
|
||||
isAdminLogin={search.isAdminLogin}
|
||||
/>
|
||||
);
|
||||
default:
|
||||
|
||||
@@ -5,7 +5,8 @@ import { z } from "zod";
|
||||
import { LoginSsoPage } from "./LoginSsoPage";
|
||||
|
||||
const LoginSSOQueryParamsSchema = z.object({
|
||||
token: z.string()
|
||||
token: z.string(),
|
||||
isAdminLogin: z.boolean().optional().catch(false)
|
||||
});
|
||||
|
||||
export const Route = createFileRoute("/_restrict-login-signup/login/sso")({
|
||||
|
||||
Reference in New Issue
Block a user