pass sessionid on verify, create session for created user

This commit is contained in:
peintnermax
2024-04-01 15:03:41 +02:00
parent 3fedba45df
commit 6a52a8809c
7 changed files with 51 additions and 22 deletions

View File

@@ -78,7 +78,7 @@ export default function RegisterForm({
function submitAndLink(value: Inputs): Promise<boolean | void> {
return submitRegister(value).then((resp: any) => {
const params: any = { userID: resp.userId };
const params: any = { userId: resp.userId };
if (organization) {
params.organization = organization;

View File

@@ -104,7 +104,7 @@ export default function SetPasswordForm({
return createSessionWithLoginNameAndPassword(
email,
value.password
).then(() => {
).then((session) => {
setLoading(false);
const params: any = { userID: humanResponse.userId };
@@ -114,6 +114,9 @@ export default function SetPasswordForm({
if (organization) {
params.organization = organization;
}
if (session && session.sessionId) {
params.sessionId = session.sessionId;
}
return router.push(`/verify?` + new URLSearchParams(params));
});

View File

@@ -18,6 +18,7 @@ type Props = {
submit: boolean;
organization?: string;
authRequestId?: string;
sessionId?: string;
};
export default function VerifyEmailForm({
@@ -26,6 +27,7 @@ export default function VerifyEmailForm({
submit,
organization,
authRequestId,
sessionId,
}: Props) {
const { register, handleSubmit, formState } = useForm<Inputs>({
mode: "onBlur",
@@ -96,7 +98,19 @@ export default function VerifyEmailForm({
function submitCodeAndContinue(value: Inputs): Promise<boolean | void> {
return submitCode(value).then((resp: any) => {
return router.push(`/loginname`);
const params = new URLSearchParams({});
if (organization) {
params.set("organization", organization);
}
if (authRequestId && sessionId) {
params.set("authRequest", authRequestId);
params.set("sessionId", sessionId);
return router.push(`/login?` + params);
} else {
return router.push(`/loginname?` + params);
}
});
}