This commit is contained in:
peintnermax
2024-09-12 09:06:49 +02:00
parent c6d815fe79
commit 38f1bad24c

View File

@@ -85,6 +85,34 @@ export type OIDC_USER = {
}; };
}; };
const GITLAB_MAPPING = (idp: IDPInformation) => {
const rawInfo = idp.rawInformation as {
name: string;
email: string;
email_verified: boolean;
};
return create(AddHumanUserRequestSchema, {
username: idp.userName,
email: {
email: rawInfo.email,
verification: { case: "isVerified", value: rawInfo.email_verified },
},
profile: {
displayName: rawInfo.name || idp.userName || "",
givenName: "",
familyName: "",
},
idpLinks: [
{
idpId: idp.idpId,
userId: idp.userId,
userName: idp.userName,
},
],
});
};
const OIDC_MAPPING = (idp: IDPInformation) => { const OIDC_MAPPING = (idp: IDPInformation) => {
const rawInfo = idp.rawInformation as OIDC_USER; const rawInfo = idp.rawInformation as OIDC_USER;
@@ -163,8 +191,8 @@ export const PROVIDER_MAPPING: {
], ],
}); });
}, },
[IdentityProviderType.GITLAB]: OIDC_MAPPING, [IdentityProviderType.GITLAB]: GITLAB_MAPPING,
[IdentityProviderType.GITLAB_SELF_HOSTED]: OIDC_MAPPING, [IdentityProviderType.GITLAB_SELF_HOSTED]: GITLAB_MAPPING,
[IdentityProviderType.OIDC]: OIDC_MAPPING, [IdentityProviderType.OIDC]: OIDC_MAPPING,
// check // check
[IdentityProviderType.OAUTH]: OIDC_MAPPING, [IdentityProviderType.OAUTH]: OIDC_MAPPING,