Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feat/mcp to proconnect #2358

Merged
merged 2 commits into from
Oct 28, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -455,7 +455,7 @@
* compute error on declaration ([#2024](https://github.com/SocialGouv/egapro/issues/2024)) ([a24c4ca](https://github.com/SocialGouv/egapro/commit/a24c4cacdac872e055747307acc05999094fad90))
* conditional style inject for Icon component ([ea25b16](https://github.com/SocialGouv/egapro/commit/ea25b16bba0618efa4e83233aad336a505c4b43e))
* constraint validation for declaration having indicator2And3 ([#1812](https://github.com/SocialGouv/egapro/issues/1812)) ([3556271](https://github.com/SocialGouv/egapro/commit/35562716963aaa88b2e5cf5441a8d8958a2fdedb))
* Content Security Policy et revalidatePath + bug 1842 après authentification sur MonComptePro ([#1843](https://github.com/SocialGouv/egapro/issues/1843)) ([46a4a33](https://github.com/SocialGouv/egapro/commit/46a4a334d8fa039a217736145f16646ed52a7d81)), closes [#1842](https://github.com/SocialGouv/egapro/issues/1842)
* Content Security Policy et revalidatePath + bug 1842 après authentification sur ProConnect ([#1843](https://github.com/SocialGouv/egapro/issues/1843)) ([46a4a33](https://github.com/SocialGouv/egapro/commit/46a4a334d8fa039a217736145f16646ed52a7d81)), closes [#1842](https://github.com/SocialGouv/egapro/issues/1842)
* **csp:** forward req original headers in middleware ([69b9df4](https://github.com/SocialGouv/egapro/commit/69b9df42d2c2be7e591657b2d0c12b8e4af9a50e))
* declaration non calculable motifs mandatories ([#1985](https://github.com/SocialGouv/egapro/issues/1985)) ([1483417](https://github.com/SocialGouv/egapro/commit/1483417f3d723166b0957550284fdc5a6964f0c9))
* declaration step 11 isValid state ([#1974](https://github.com/SocialGouv/egapro/issues/1974)) ([24e8d89](https://github.com/SocialGouv/egapro/commit/24e8d8974087fbcd5826ea0e9cf2ec618088a18c))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ export interface Organization {
siret: string;
}

export interface MonCompteProProfile {
export interface ProConnectProfile {
email: string;
email_verified: boolean;
family_name: string | null;
Expand All @@ -23,7 +23,7 @@ export interface MonCompteProProfile {
}

const ISSUER = (appTest: boolean) => `https://app${appTest ? "-sandbox" : ""}.moncomptepro.beta.gouv.fr`;
export function MonCompteProProvider<P extends MonCompteProProfile>(
export function ProConnectProvider<P extends ProConnectProfile>(
options: OAuthUserConfig<P> & { appTest?: boolean },
): OAuthConfig<P> {
const issuer = options.issuer ?? ISSUER(options.appTest ?? false);
Expand All @@ -44,10 +44,10 @@ export function MonCompteProProvider<P extends MonCompteProProfile>(
async request({ tokens: { access_token }, client }) {
logger.child({ tokens: { access_token } }).info(`userinfo request`);
if (!access_token) {
throw new Error("MonCompteProProvider - Userinfo request is missing access_token.");
throw new Error("ProConnectProvider - Userinfo request is missing access_token.");
}

return client.userinfo<MonCompteProProfile>(access_token);
return client.userinfo<ProConnectProfile>(access_token);
},
},
profile(profile) {
Expand Down
6 changes: 3 additions & 3 deletions packages/app/src/api/core-domain/infra/auth/config.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { type MonCompteProProfile, MonCompteProProvider } from "@api/core-domain/infra/auth/MonCompteProProvider";
import { type ProConnectProfile, ProConnectProvider } from "@api/core-domain/infra/auth/ProConnectProvider";
import { globalMailerService } from "@api/core-domain/infra/mail";
import { ownershipRepo } from "@api/core-domain/repo";
import { SyncOwnership } from "@api/core-domain/useCases/SyncOwnership";
Expand Down Expand Up @@ -33,7 +33,7 @@ declare module "next-auth" {
};
}

interface Profile extends MonCompteProProfile {}
interface Profile extends ProConnectProfile {}
}

declare module "next-auth/jwt" {
Expand All @@ -47,7 +47,7 @@ const charonMcpUrl = new URL(
config.api.security.auth.charonUrl,
);
const charonGithubUrl = new URL("github/", config.api.security.auth.charonUrl);
export const monCompteProProvider = MonCompteProProvider({
export const monCompteProProvider = ProConnectProvider({
...config.api.security.moncomptepro,
...(config.env !== "prod"
? {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import { Container, ContentWithChapter, Grid, GridCol } from "@design-system";
import { AnchorLink } from "@design-system/client";
import Link from "next/link";

const title = "Aide pour l'utilisation du service d'identification MonComptePro";
const title = "Aide pour l'utilisation du service d'identification ProConnect (anciennement MonComptePro)";

export const metadata = {
title,
Expand All @@ -13,19 +13,19 @@ export const metadata = {
},
};

const AideMonCompteProPage = () => {
const AideProConnectPage = () => {
return (
<Container py="8w">
<Grid align="center">
<GridCol md={10} lg={8}>
<h1>{title}</h1>
<p>
Egapro utilise le service d'identification MonComptePro afin de garantir l'appartenance de ses utilisateurs
Egapro utilise le service d'identification ProConnect afin de garantir l'appartenance de ses utilisateurs
aux entreprises déclarantes.
</p>

<p>
Vous devez ainsi vous identifier avec un compte MonComptePro pour déclarer votre index de l'égalité
Vous devez ainsi vous identifier avec un compte ProConnect pour déclarer votre index de l'égalité
professionnelle, et le cas échéant vos écarts éventuels de représentation sur le site Egapro.
</p>

Expand All @@ -47,51 +47,51 @@ const AideMonCompteProPage = () => {
</li>
<li>
Les tiers déclarants (comptables...) ne sont pas autorisés à déclarer pour le compte de leur entreprise
cliente. Cette dernière doit créer son propre compte MonComptePro pour déclarer sur Egapro.
cliente. Cette dernière doit créer son propre compte ProConnect pour déclarer sur Egapro.
</li>
</ul>
<Summary
className="fr-my-6w"
links={[
{
text: "Non réception des mails en provenance de MonComptePro",
text: "Non réception des mails en provenance de ProConnect",
linkProps: {
href: "#non-reception-emails-moncomptepro",
},
},
{
text: "Comment contacter MonComptePro ?",
text: "Comment contacter ProConnect ?",
linkProps: {
href: "#Comment-contacter-MonComptePro",
href: "#Comment-contacter-ProConnect",
},
},
{
text: "Comment s'identifier avec MonComptePro ?",
text: "Comment s'identifier avec ProConnect ?",
linkProps: {
href: "#Comment-s-identifier-avec-MonComptePro",
href: "#Comment-s-identifier-avec-ProConnect",
},
},
{
text: "Comment modifier mes informations personnelles sur MonComptePro ?",
text: "Comment modifier mes informations personnelles sur ProConnect ?",
linkProps: {
href: "#Comment-modifier-mes-informations-personnelles-sur-MonComptePro",
href: "#Comment-modifier-mes-informations-personnelles-sur-ProConnect",
},
},
{
text: "Comment rattacher une nouvelle entreprise à mon compte MonComptePro ?",
text: "Comment rattacher une nouvelle entreprise à mon compte ProConnect ?",
linkProps: {
href: "#Comment-rattacher-une-nouvelle-entreprise-à-mon-compte-MonComptePro",
href: "#Comment-rattacher-une-nouvelle-entreprise-à-mon-compte-ProConnect",
},
},
]}
/>

<ContentWithChapter>
<AnchorLink as="h2" anchor="non-reception-emails-moncomptepro">
Non réception des mails en provenance de MonComptePro
Non réception des mails en provenance de ProConnect
</AnchorLink>
<p>
Vous ne recevez pas les mails en provenance de MonComptePro, vous êtes peut-être dans l’une de ces
Vous ne recevez pas les mails en provenance de ProConnect, vous êtes peut-être dans l’une de ces
situations :
</p>
<ul>
Expand All @@ -112,28 +112,28 @@ const AideMonCompteProPage = () => {
Votre entreprise utilise une protection contre les spams (comme MailInBlack)
<br />
💡 Vous devez contacter votre service informatique pour qu'il autorise les mails en provenance de
MonComptePro (adresse IP : 172.246.41.163)
ProConnect (adresse IP : 172.246.41.163)
</li>
</ul>
<AnchorLink as="h2" anchor="Comment-contacter-MonComptePro">
Comment contacter MonComptePro ?
<AnchorLink as="h2" anchor="Comment-contacter-ProConnect">
Comment contacter ProConnect ?
</AnchorLink>
<p>
Pour tout problème lié à MonComptePro, vous devez contacter le support dédié via cette adresse email{" "}
Pour tout problème lié à ProConnect, vous devez contacter le support dédié via cette adresse email{" "}
<Link href={"mailto:[email protected]"} target="_blank" rel="noopener noreferrer">
[email protected]
</Link>
</p>
<AnchorLink as="h2" anchor="Comment-s-identifier-avec-MonComptePro">
Comment s'identifier avec MonComptePro ?
<AnchorLink as="h2" anchor="Comment-s-identifier-avec-ProConnect">
Comment s'identifier avec ProConnect ?
</AnchorLink>
<AnchorLink as="h3" anchor="Vous-avez-un-compte-MonComptePro">
Vous avez un compte MonComptePro
<AnchorLink as="h3" anchor="Vous-avez-un-compte-ProConnect">
Vous avez un compte ProConnect
</AnchorLink>
<p>A la page "Connexion" du site Egapro, vous cliquez sur "S'identifier avec MonComptePro".</p>
<p>A la page "Connexion" du site Egapro, vous cliquez sur "S'identifier avec ProConnect".</p>
<p>
Vous êtes redirigé sur le site MonComptePro à la page "S'inscrire ou se connecter". Vous saisissez votre
adresse email professionnelle utilisée lors de la création du compte MonComptePro.
Vous êtes redirigé sur le site ProConnect à la page "S'inscrire ou se connecter". Vous saisissez votre
adresse email professionnelle utilisée lors de la création du compte ProConnect.
</p>
<p>
A la page suivante, vous saisissez le mot de passe que vous avez créé (vous allez recevoir un code de
Expand All @@ -142,13 +142,13 @@ const AideMonCompteProPage = () => {
est valable 1 heure).
</p>
<p>Vous êtes ensuite redirigé sur le site Egapro.</p>
<AnchorLink as="h3" anchor="Vous-n-avez-pas-encore-de-compte-MonComptePro">
Vous n'avez pas encore de compte MonComptePro
<AnchorLink as="h3" anchor="Vous-n-avez-pas-encore-de-compte-ProConnect">
Vous n'avez pas encore de compte ProConnect
</AnchorLink>
<p>
À la page "Connexion" du site Egapro, vous cliquez sur "S'identifier avec MonComptePro". <br />
À la page "Connexion" du site Egapro, vous cliquez sur "S'identifier avec ProConnect". <br />
<br />
Vous êtes redirigé sur le site MonComptePro à la page "S'inscrire ou se connecter". Vous saisissez votre
Vous êtes redirigé sur le site ProConnect à la page "S'inscrire ou se connecter". Vous saisissez votre
adresse email professionnelle, celle-ci doit correspondre à la personne à contacter par les services de
l'inspection du travail en cas de besoin.
</p>
Expand All @@ -169,7 +169,7 @@ const AideMonCompteProPage = () => {
liste vous est proposée, soit vous saisissez le numéro Siret du siège social de votre entreprise.
</p>
<p>
À noter que sur le site MonComptePro le rattachement de votre compte s'effectue avec le numéro Siret du
À noter que sur le site ProConnect le rattachement de votre compte s'effectue avec le numéro Siret du
siège social de votre entreprise et sur le site Egapro c'est le numéro Siren de votre entreprise qui sera
disponible pour effectuer votre déclaration.
</p>
Expand All @@ -187,34 +187,34 @@ const AideMonCompteProPage = () => {
</li>
</ul>
<p className={fr.cx("fr-mt-2w")}>
L'équipe MonComptePro procède à des traitements pour vérifier la légitimité du déclarant à représenter
l'entreprise. Si l'équipe MonComptePro a déjà vérifié la correspondance entre votre entreprise et le nom
de domaine de votre adresse email, votre compte sera validé automatiquement et vous serez redirigé sur le
L'équipe ProConnect procède à des traitements pour vérifier la légitimité du déclarant à représenter
l'entreprise. Si l'équipe ProConnect a déjà vérifié la correspondance entre votre entreprise et le nom de
domaine de votre adresse email, votre compte sera validé automatiquement et vous serez redirigé sur le
site Egapro.
<br /> Sinon, l'équipe MonComptePro devra vérifier le rattachement de votre entreprise avant de valider
<br /> Sinon, l'équipe ProConnect devra vérifier le rattachement de votre entreprise avant de valider
votre compte, vous recevrez un mail dès que celui-ci sera effectif (un délai de un jour est à prévoir).
Vous pourrez ensuite vous identifier avec votre compte MonComptePro sur le site Egapro.
Vous pourrez ensuite vous identifier avec votre compte ProConnect sur le site Egapro.
</p>
<AnchorLink as="h2" anchor="Comment-modifier-mes-informations-personnelles-sur-MonComptePro">
Comment modifier mes informations personnelles sur MonComptePro ?
<AnchorLink as="h2" anchor="Comment-modifier-mes-informations-personnelles-sur-ProConnect">
Comment modifier mes informations personnelles sur ProConnect ?
</AnchorLink>
<p>
Vous pouvez modifier vos informations personnelles (nom, prénom, numéro de téléphone professionnel et
fonction au sein de votre entreprise) en vous connectant à votre compte sur le site MonComptePro,{" "}
fonction au sein de votre entreprise) en vous connectant à votre compte sur le site ProConnect,{" "}
<Link href={"https://moncomptepro.beta.gouv.fr/"} target="_blank" rel="noopener noreferrer">
https://moncomptepro.beta.gouv.fr/
</Link>
, puis en cliquant dans le menu sur "Informations personnelles".
</p>
<p>
À noter que vous ne pouvez pas modifier l’email associé à votre compte. Si vous souhaitez utiliser un
autre email, vous devez créer un nouveau compte MonComptePro.
autre email, vous devez créer un nouveau compte ProConnect.
</p>
<AnchorLink as="h2" anchor="Comment-rattacher-une-nouvelle-entreprise-à-mon-compte-MonComptePro">
Comment rattacher une nouvelle entreprise à mon compte MonComptePro ?
<AnchorLink as="h2" anchor="Comment-rattacher-une-nouvelle-entreprise-à-mon-compte-ProConnect">
Comment rattacher une nouvelle entreprise à mon compte ProConnect ?
</AnchorLink>
<p>
Vous vous connectez à votre compte sur le site MonComptePro,
Vous vous connectez à votre compte sur le site ProConnect,
<br />
<Link href={"https://moncomptepro.beta.gouv.fr/"} target="_blank" rel="noopener noreferrer">
https://moncomptepro.beta.gouv.fr/
Expand All @@ -226,20 +226,20 @@ const AideMonCompteProPage = () => {
Vous saisissez ensuite le numéro Siret du siège social de l'entreprise dont vous souhaitez être rattachée.
</p>
<p>
À noter que sur le site MonComptePro le rattachement d'une entreprise à votre compte s'effectue avec le
À noter que sur le site ProConnect le rattachement d'une entreprise à votre compte s'effectue avec le
numéro Siret du siège social de l'entreprise et sur le site Egapro c'est le numéro Siren de l'entreprise
qui sera disponible pour effectuer la déclaration.
</p>
<p>
L'équipe MonComptePro procède à des traitements pour vérifier la légitimité du déclarant à représenter
l'entreprise. Si l'équipe MonComptePro a déjà vérifié la correspondance entre l'entreprise et le nom de
L'équipe ProConnect procède à des traitements pour vérifier la légitimité du déclarant à représenter
l'entreprise. Si l'équipe ProConnect a déjà vérifié la correspondance entre l'entreprise et le nom de
domaine de votre adresse email, le rattachement sera validé automatiquement.
<br /> Sinon, l'équipe MonComptePro procédera à une vérification avant de valider le rattachement, vous
<br /> Sinon, l'équipe ProConnect procédera à une vérification avant de valider le rattachement, vous
recevrez un mail dès que celui-ci sera effectif (un délai de un jour est à prévoir).
</p>
<p>
<b>
Si le rattachement a été validé par l'équipe MonComptePro et que sur le site Egapro vous n'avez pas le
Si le rattachement a été validé par l'équipe ProConnect et que sur le site Egapro vous n'avez pas le
numéro Siren de l'entreprise dans la liste déroulante de la page "Commencer" de la déclaration, il
convient de vous déconnecter du site Egapro en haut à droite de la page et de vous reconnecter.
</b>
Expand All @@ -251,4 +251,4 @@ const AideMonCompteProPage = () => {
);
};

export default AideMonCompteProPage;
export default AideProConnectPage;
Loading
Loading