1
0
Fork 0
mirror of https://github.com/plankanban/planka.git synced 2025-08-09 15:35:29 +02:00

associate auth with login.

This commit is contained in:
Jeffrey 2023-09-01 05:41:13 -05:00
parent af9bdda192
commit 8ccc3c4e1e

View file

@ -65,6 +65,17 @@ const mergeUserData = (validToken, userInfo) => {
const oidcUser = { ...validToken, ...userInfo }; const oidcUser = { ...validToken, ...userInfo };
return oidcUser; return oidcUser;
}; };
const getOrCreateUser = async (newUser) => {
const user = await User.findOne({
where: {
username: newUser.username,
},
});
if (user) {
return user;
}
return User.create(newUser).fetch();
};
module.exports = { module.exports = {
inputs: { inputs: {
token: { token: {
@ -110,9 +121,10 @@ module.exports = {
sub: oidcUser.sub, sub: oidcUser.sub,
}, },
}).populate('userId'); }).populate('userId');
let user = identityProviderUser ? identityProviderUser.userId : {}; let user = identityProviderUser ? identityProviderUser.userId : {};
if (!identityProviderUser) { if (!identityProviderUser) {
user = await User.create(newUser).fetch(); user = await getOrCreateUser(newUser);
await IdentityProviderUser.create({ await IdentityProviderUser.create({
issuer: oidcUser.iss, issuer: oidcUser.iss,
sub: oidcUser.sub, sub: oidcUser.sub,