feat(sso): use the internalAdapter for creating users and accounts

This commit is contained in:
David Hart
2025-11-11 21:11:59 +01:00
parent d34877ade1
commit 2de4e0a8f2

View File

@@ -1584,15 +1584,10 @@ export const callbackSSOSAML = (options?: SSOOptions) => {
if (existingUser) {
user = existingUser;
} else {
user = await ctx.context.adapter.create({
model: "user",
data: {
email: userInfo.email,
name: userInfo.name,
emailVerified: userInfo.emailVerified,
createdAt: new Date(),
updatedAt: new Date(),
},
user = await ctx.context.internalAdapter.createUser({
email: userInfo.email,
name: userInfo.name,
emailVerified: userInfo.emailVerified,
});
}
@@ -1607,17 +1602,12 @@ export const callbackSSOSAML = (options?: SSOOptions) => {
});
if (!account) {
await ctx.context.adapter.create<Account>({
model: "account",
data: {
userId: user.id,
providerId: provider.providerId,
accountId: userInfo.id,
createdAt: new Date(),
updatedAt: new Date(),
accessToken: "",
refreshToken: "",
},
await ctx.context.internalAdapter.createAccount({
userId: user.id,
providerId: provider.providerId,
accountId: userInfo.id,
accessToken: "",
refreshToken: "",
});
}
@@ -1942,47 +1932,32 @@ export const acsEndpoint = (options?: SSOOptions) => {
`${parsedSamlConfig.callbackUrl}?error=account_not_found`,
);
}
await ctx.context.adapter.create<Account>({
model: "account",
data: {
userId: existingUser.id,
providerId: provider.providerId,
accountId: userInfo.id,
createdAt: new Date(),
updatedAt: new Date(),
accessToken: "",
refreshToken: "",
},
});
}
user = existingUser;
} else {
user = await ctx.context.adapter.create({
model: "user",
data: {
email: userInfo.email,
name: userInfo.name,
emailVerified: options?.trustEmailVerified
? userInfo.emailVerified || false
: false,
createdAt: new Date(),
updatedAt: new Date(),
},
});
await ctx.context.adapter.create<Account>({
model: "account",
data: {
userId: user.id,
await ctx.context.internalAdapter.createAccount({
userId: existingUser.id,
providerId: provider.providerId,
accountId: userInfo.id,
accessToken: "",
refreshToken: "",
accessTokenExpiresAt: new Date(),
refreshTokenExpiresAt: new Date(),
scope: "",
createdAt: new Date(),
updatedAt: new Date(),
},
});
}
user = existingUser;
} else {
user = await ctx.context.internalAdapter.createUser({
email: userInfo.email,
name: userInfo.name,
emailVerified: options?.trustEmailVerified
? userInfo.emailVerified || false
: false,
});
await ctx.context.internalAdapter.createAccount({
userId: user.id,
providerId: provider.providerId,
accountId: userInfo.id,
accessToken: "",
refreshToken: "",
accessTokenExpiresAt: new Date(),
refreshTokenExpiresAt: new Date(),
scope: "",
});
}