|
|
|
@ -1,10 +1,8 @@
|
|
|
|
|
import {
|
|
|
|
|
AuthMethod,
|
|
|
|
|
User
|
|
|
|
|
} from "../../../models";
|
|
|
|
|
import { AuthMethod, User } from "../../../models";
|
|
|
|
|
import { createToken } from "../../../helpers/auth";
|
|
|
|
|
import { AuthTokenType } from "../../../variables";
|
|
|
|
|
import { getAuthSecret, getJwtProviderAuthLifetime} from "../../../config";
|
|
|
|
|
import { getAuthSecret, getJwtProviderAuthLifetime } from "../../../config";
|
|
|
|
|
import { getServerConfig } from "../../../config/serverConfig";
|
|
|
|
|
|
|
|
|
|
interface SSOUserTokenFlowParams {
|
|
|
|
|
email: string;
|
|
|
|
@ -25,6 +23,9 @@ export const handleSSOUserTokenFlow = async ({
|
|
|
|
|
email
|
|
|
|
|
}).select("+publicKey");
|
|
|
|
|
|
|
|
|
|
const serverCfg = getServerConfig();
|
|
|
|
|
if (!user && !serverCfg.allowSignUp) throw new Error("User signup disabled");
|
|
|
|
|
|
|
|
|
|
if (!user) {
|
|
|
|
|
user = await new User({
|
|
|
|
|
email,
|
|
|
|
@ -50,13 +51,15 @@ export const handleSSOUserTokenFlow = async ({
|
|
|
|
|
authMethod,
|
|
|
|
|
isUserCompleted,
|
|
|
|
|
isLinkingRequired,
|
|
|
|
|
...(callbackPort ? {
|
|
|
|
|
...(callbackPort
|
|
|
|
|
? {
|
|
|
|
|
callbackPort
|
|
|
|
|
} : {})
|
|
|
|
|
}
|
|
|
|
|
: {})
|
|
|
|
|
},
|
|
|
|
|
expiresIn: await getJwtProviderAuthLifetime(),
|
|
|
|
|
secret: await getAuthSecret(),
|
|
|
|
|
secret: await getAuthSecret()
|
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
return { isUserCompleted, providerAuthToken };
|
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|