diff --git a/api/src/identity-access-management/domain/emails/create-reset-password-demand.email.js b/api/src/identity-access-management/domain/emails/create-reset-password-demand.email.js index c653a83787a..9f278913548 100644 --- a/api/src/identity-access-management/domain/emails/create-reset-password-demand.email.js +++ b/api/src/identity-access-management/domain/emails/create-reset-password-demand.email.js @@ -30,7 +30,7 @@ export function createResetPasswordDemandEmail({ email, temporaryKey, locale = F homeName: getPixWebsiteDomain(locale), homeUrl: getPixWebsiteUrl(locale), helpdeskUrl: getSupportUrl(locale), - resetUrl: getPixAppUrl(locale, { pathname: `/changer-mot-de-passe/${temporaryKey}` }), + resetUrl: getPixAppUrl(locale, { pathname: '/changer-mot-de-passe', hash: temporaryKey }), clickOnTheButton: i18n.__('reset-password-demand-email.params.clickOnTheButton'), contactUs: i18n.__('reset-password-demand-email.params.contactUs'), doNotAnswer: i18n.__('reset-password-demand-email.params.doNotAnswer'), diff --git a/mon-pix/app/router.js b/mon-pix/app/router.js index 8cdbf5d41ae..82731b46555 100644 --- a/mon-pix/app/router.js +++ b/mon-pix/app/router.js @@ -141,7 +141,7 @@ Router.map(function () { this.route('logout', { path: '/deconnexion' }); this.route('not-connected', { path: '/nonconnecte' }); - this.route('reset-password', { path: '/changer-mot-de-passe/:temporary_key' }); + this.route('reset-password', { path: '/changer-mot-de-passe' }); this.route('password-reset-demand', { path: '/mot-de-passe-oublie' }); this.route('update-expired-password', { path: '/mise-a-jour-mot-de-passe-expire' }); diff --git a/mon-pix/app/routes/reset-password.js b/mon-pix/app/routes/reset-password.js index 639836e93e7..3f08cf6e72f 100644 --- a/mon-pix/app/routes/reset-password.js +++ b/mon-pix/app/routes/reset-password.js @@ -2,14 +2,17 @@ import Route from '@ember/routing/route'; import { service } from '@ember/service'; import get from 'lodash/get'; import ENV from 'mon-pix/config/environment'; +import Location from 'mon-pix/utils/location'; export default class ResetPasswordRoute extends Route { @service requestManager; @service errors; @service router; - async model(params) { - const passwordResetTemporaryKey = params.temporary_key; + async model() { + const { hash } = new URL(Location.getHref()); + const passwordResetTemporaryKey = decodeURIComponent(hash.slice(1)); + try { await this.requestManager.request({ url: `${ENV.APP.API_HOST}/api/check-password-reset-demand`,