WIP: titouan #23

Closed
Titouan wants to merge 6 commits from titouan into dev
8 changed files with 54 additions and 48 deletions

View File

@ -1,6 +1,11 @@
4NK_URL=
FRONT_APP_HOST=
IDNOT_BASE_URL=
IDNOT_AUTHORIZE_ENDPOINT=
IDNOT_CLIENT_ID=
BACK_API_PROTOCOL= BACK_API_PROTOCOL=
BACK_API_HOSTNAME= BACK_API_HOSTNAME=
BACK_API_PORT= BACK_API_PORT=
BACK_API_ROOT_URL= BACK_API_ROOT_URL=
BACK_API_VERSION= BACK_API_VERSION=
ANK_BASE_REDIRECT_URI=

View File

@ -2,7 +2,7 @@ name: Build and Push to Registry
on: on:
push: push:
branches: [ dev ] branches: [ titouan ]
env: env:
REGISTRY: git.4nkweb.com REGISTRY: git.4nkweb.com
@ -37,6 +37,5 @@ jobs:
push: true push: true
ssh: default ssh: default
tags: | tags: |
${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:latest ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:titouan
${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:dev
${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ gitea.sha }} ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ gitea.sha }}

View File

@ -22,6 +22,7 @@ const nextConfig = {
NEXT_PUBLIC_HOTJAR_VERSION: process.env.NEXT_PUBLIC_HOTJAR_VERSION, NEXT_PUBLIC_HOTJAR_VERSION: process.env.NEXT_PUBLIC_HOTJAR_VERSION,
NEXT_PUBLIC_4NK_URL: process.env.NEXT_PUBLIC_4NK_URL, NEXT_PUBLIC_4NK_URL: process.env.NEXT_PUBLIC_4NK_URL,
NEXT_PUBLIC_API_URL: process.env.NEXT_PUBLIC_API_URL, NEXT_PUBLIC_API_URL: process.env.NEXT_PUBLIC_API_URL,
NEXT_PUBLICK_ANK_BASE_REDIRECT_URI: process.env.NEXT_PUBLIC_ANK_BASE_REDIRECT_URI,
NEXT_PUBLIC_DEFAULT_VALIDATOR_ID: process.env.NEXT_PUBLIC_DEFAULT_VALIDATOR_ID, NEXT_PUBLIC_DEFAULT_VALIDATOR_ID: process.env.NEXT_PUBLIC_DEFAULT_VALIDATOR_ID,
NEXT_PUBLIC_DEFAULT_STORAGE_URLS: process.env.NEXT_PUBLIC_DEFAULT_STORAGE_URLS, NEXT_PUBLIC_DEFAULT_STORAGE_URLS: process.env.NEXT_PUBLIC_DEFAULT_STORAGE_URLS,
}, },
@ -42,6 +43,7 @@ const nextConfig = {
NEXT_PUBLIC_HOTJAR_VERSION: process.env.NEXT_PUBLIC_HOTJAR_VERSION, NEXT_PUBLIC_HOTJAR_VERSION: process.env.NEXT_PUBLIC_HOTJAR_VERSION,
NEXT_PUBLIC_4NK_URL: process.env.NEXT_PUBLIC_4NK_URL, NEXT_PUBLIC_4NK_URL: process.env.NEXT_PUBLIC_4NK_URL,
NEXT_PUBLIC_API_URL: process.env.NEXT_PUBLIC_API_URL, NEXT_PUBLIC_API_URL: process.env.NEXT_PUBLIC_API_URL,
NEXT_PUBLICK_ANK_BASE_REDIRECT_URI: process.env.NEXT_PUBLIC_ANK_BASE_REDIRECT_URI,
NEXT_PUBLIC_DEFAULT_VALIDATOR_ID: process.env.NEXT_PUBLIC_DEFAULT_VALIDATOR_ID, NEXT_PUBLIC_DEFAULT_VALIDATOR_ID: process.env.NEXT_PUBLIC_DEFAULT_VALIDATOR_ID,
NEXT_PUBLIC_DEFAULT_STORAGE_URLS: process.env.NEXT_PUBLIC_DEFAULT_STORAGE_URLS, NEXT_PUBLIC_DEFAULT_STORAGE_URLS: process.env.NEXT_PUBLIC_DEFAULT_STORAGE_URLS,
}, },
@ -62,6 +64,7 @@ const nextConfig = {
NEXT_PUBLIC_HOTJAR_VERSION: process.env.NEXT_PUBLIC_HOTJAR_VERSION, NEXT_PUBLIC_HOTJAR_VERSION: process.env.NEXT_PUBLIC_HOTJAR_VERSION,
NEXT_PUBLIC_4NK_URL: process.env.NEXT_PUBLIC_4NK_URL, NEXT_PUBLIC_4NK_URL: process.env.NEXT_PUBLIC_4NK_URL,
NEXT_PUBLIC_API_URL: process.env.NEXT_PUBLIC_API_URL, NEXT_PUBLIC_API_URL: process.env.NEXT_PUBLIC_API_URL,
NEXT_PUBLICK_ANK_BASE_REDIRECT_URI: process.env.NEXT_PUBLIC_ANK_BASE_REDIRECT_URI,
NEXT_PUBLIC_DEFAULT_VALIDATOR_ID: process.env.NEXT_PUBLIC_DEFAULT_VALIDATOR_ID, NEXT_PUBLIC_DEFAULT_VALIDATOR_ID: process.env.NEXT_PUBLIC_DEFAULT_VALIDATOR_ID,
NEXT_PUBLIC_DEFAULT_STORAGE_URLS: process.env.NEXT_PUBLIC_DEFAULT_STORAGE_URLS, NEXT_PUBLIC_DEFAULT_STORAGE_URLS: process.env.NEXT_PUBLIC_DEFAULT_STORAGE_URLS,
}, },

View File

@ -41,12 +41,8 @@ export default class Auth extends BaseApiService {
} }
public async idNotAuth(autorizationCode: string | string[]): Promise<{ idNotUser: any; authToken: string }> { public async idNotAuth(autorizationCode: string | string[]): Promise<{ idNotUser: any; authToken: string }> {
// const variables = FrontendVariables.getInstance(); const variables = FrontendVariables.getInstance();
const url = new URL(`${variables.BACK_API_PROTOCOL}://${variables.BACK_API_HOST}:${variables.BACK_API_PORT}/api/v1/idnot/auth/${autorizationCode}`);
// TODO: review
const baseBackUrl = 'http://localhost:8080';//variables.BACK_API_PROTOCOL + variables.BACK_API_HOST;
const url = new URL(`${baseBackUrl}/api/v1/idnot/auth/${autorizationCode}`);
try { try {
return await this.postRequest<{ idNotUser: any; authToken: string }>(url); return await this.postRequest<{ idNotUser: any; authToken: string }>(url);
} catch (err) { } catch (err) {
@ -56,9 +52,8 @@ export default class Auth extends BaseApiService {
} }
public async getIdNotUser(): Promise<{ success: boolean; data: any }> { public async getIdNotUser(): Promise<{ success: boolean; data: any }> {
const baseBackUrl = 'http://localhost:8080';//variables.BACK_API_PROTOCOL + variables.BACK_API_HOST; const variables = FrontendVariables.getInstance();
const url = new URL(`${variables.BACK_API_PROTOCOL}://${variables.BACK_API_HOST}:${variables.BACK_API_PORT}/api/v1/idnot/user`);
const url = new URL(`${baseBackUrl}/api/v1/idnot/user`);
try { try {
return await this.getRequest(url); return await this.getRequest(url);
} }
@ -69,9 +64,8 @@ export default class Auth extends BaseApiService {
} }
public async getIdNotOfficeForUser(userId: string): Promise<any[]> { public async getIdNotOfficeForUser(userId: string): Promise<any[]> {
const baseBackUrl = 'http://localhost:8080';//variables.BACK_API_PROTOCOL + variables.BACK_API_HOST; const variables = FrontendVariables.getInstance();
const url = new URL(`${variables.BACK_API_PROTOCOL}://${variables.BACK_API_HOST}:${variables.BACK_API_PORT}/api/v1/idnot/user/rattachements`);
const url = new URL(`${baseBackUrl}/api/v1/idnot/user/rattachements`);
url.searchParams.set('idNot', userId); url.searchParams.set('idNot', userId);
try { try {
return await this.getRequest(url); return await this.getRequest(url);
@ -83,9 +77,8 @@ export default class Auth extends BaseApiService {
} }
public async getIdNotUserForOffice(officeId: string): Promise<any[]> { public async getIdNotUserForOffice(officeId: string): Promise<any[]> {
const baseBackUrl = 'http://localhost:8080';//variables.BACK_API_PROTOCOL + variables.BACK_API_HOST; const variables = FrontendVariables.getInstance();
const url = new URL(`${variables.BACK_API_PROTOCOL}://${variables.BACK_API_HOST}:${variables.BACK_API_PORT}/api/v1/idnot/office/rattachements`);
const url = new URL(`${baseBackUrl}/api/v1/idnot/office/rattachements`);
url.searchParams.set('idNot', officeId); url.searchParams.set('idNot', officeId);
try { try {
return await this.getRequest(url); return await this.getRequest(url);
@ -96,9 +89,8 @@ export default class Auth extends BaseApiService {
} }
public async getUserProcessByIdNot(pairingId: string): Promise<{ success: boolean; data: { processId: string, processData: { [key: string]: any } } }> { public async getUserProcessByIdNot(pairingId: string): Promise<{ success: boolean; data: { processId: string, processData: { [key: string]: any } } }> {
const baseBackUrl = 'http://localhost:8080';//variables.BACK_API_PROTOCOL + variables.BACK_API_HOST; const variables = FrontendVariables.getInstance();
const url = new URL(`${variables.BACK_API_PROTOCOL}://${variables.BACK_API_HOST}:${variables.BACK_API_PORT}/api/v1/process/user`);
const url = new URL(`${baseBackUrl}/api/v1/process/user`);
url.searchParams.set('pairingId', pairingId); url.searchParams.set('pairingId', pairingId);
try { try {
return await this.getRequest(url); return await this.getRequest(url);
@ -109,9 +101,8 @@ export default class Auth extends BaseApiService {
} }
public async getOfficeProcessByIdNot(): Promise<{ success: boolean; data: { processId: string, processData: { [key: string]: any } } }> { public async getOfficeProcessByIdNot(): Promise<{ success: boolean; data: { processId: string, processData: { [key: string]: any } } }> {
const baseBackUrl = 'http://localhost:8080';//variables.BACK_API_PROTOCOL + variables.BACK_API_HOST; const variables = FrontendVariables.getInstance();
const url = new URL(`${variables.BACK_API_PROTOCOL}://${variables.BACK_API_HOST}:${variables.BACK_API_PORT}/api/v1/process/office`);
const url = new URL(`${baseBackUrl}/api/v1/process/office`);
try { try {
return await this.getRequest(url); return await this.getRequest(url);
} catch (err) { } catch (err) {

View File

@ -89,10 +89,7 @@ export default class Customers extends BaseNotary {
} }
public async sendReminder(office: any, customer: any): Promise<void> { public async sendReminder(office: any, customer: any): Promise<void> {
// TODO: review const url = new URL(`${this.variables.BACK_API_PROTOCOL}://${this.variables.BACK_API_HOST}:${this.variables.BACK_API_PORT}/api/send_reminder`);
const baseBackUrl = 'http://localhost:8080';//variables.BACK_API_PROTOCOL + variables.BACK_API_HOST;
const url = new URL(`${baseBackUrl}/api/send_reminder`);
//const url = new URL(this.baseURl.concat(`/${uid}/send_reminder`)); //const url = new URL(this.baseURl.concat(`/${uid}/send_reminder`));
try { try {

View File

@ -41,18 +41,18 @@ export default function StepEmail(props: IProps) {
const router = useRouter(); const router = useRouter();
const error = router.query["error"]; const error = router.query["error"];
const variables = FrontendVariables.getInstance();
const redirectUserOnConnection = useCallback(() => { const redirectUserOnConnection = useCallback(() => {
/* TODO: review /* TODO: review
const variables = FrontendVariables.getInstance();
router.push( router.push(
`${variables.IDNOT_BASE_URL + variables.IDNOT_AUTHORIZE_ENDPOINT}?client_id=${variables.IDNOT_CLIENT_ID}&redirect_uri=${ `${variables.IDNOT_BASE_URL + variables.IDNOT_AUTHORIZE_ENDPOINT}?client_id=${variables.IDNOT_CLIENT_ID}&redirect_uri=${
variables.FRONT_APP_HOST variables.FRONT_APP_HOST
}/authorized-client&scope=openid,profile&response_type=code`, }/authorized-client&scope=openid,profile&response_type=code`,
); );
*/ */
const redirectUri = 'http://local.4nkweb.com:3000/authorized-client';
router.push( router.push(
`https://qual-connexion.idnot.fr/user/IdPOAuth2/authorize/idnot_idp_v1?client_id=B3CE56353EDB15A9&redirect_uri=${redirectUri}&scope=openid,profile&response_type=code`, `${variables.IDNOT_BASE_URL}/user/${variables.IDNOT_AUTHORIZE_ENDPOINT}?client_id=${variables.IDNOT_CLIENT_ID}&redirect_uri=${variables.ANK_BASE_REDIRECT_URI}&scope=openid,profile&response_type=code`,
); );
}, [router]); }, [router]);
@ -66,7 +66,7 @@ export default function StepEmail(props: IProps) {
const closeNoEmailModal = useCallback(() => { const closeNoEmailModal = useCallback(() => {
setIsErrorModalOpen(0); setIsErrorModalOpen(0);
router.push("https://connexion.idnot.fr/"); router.push(variables.IDNOT_BASE_URL);
}, [router]); }, [router]);
// const closeContactAdminModal = () => { // const closeContactAdminModal = () => {

View File

@ -23,6 +23,7 @@ import Iframe from "src/sdk/Iframe";
import LoaderService from "src/common/Api/LeCoffreApi/sdk/Loader/LoaderService"; import LoaderService from "src/common/Api/LeCoffreApi/sdk/Loader/LoaderService";
import { ProgressInfo } from "src/common/Api/LeCoffreApi/sdk/ImportData"; import { ProgressInfo } from "src/common/Api/LeCoffreApi/sdk/ImportData";
import { FrontendVariables } from "@Front/Config/VariablesFront";
export default function LoginCallBack() { export default function LoginCallBack() {
const router = useRouter(); const router = useRouter();
@ -65,14 +66,22 @@ export default function LoginCallBack() {
async function getUser() { async function getUser() {
UserStore.instance.disconnect(); UserStore.instance.disconnect();
// TODO: review const variables = FrontendVariables.getInstance();
// HACK: If start with http://local.lecoffreio.4nkweb:3000/authorized-client if (!variables?.ANK_BASE_REDIRECT_URI || !variables?.FRONT_APP_HOST) {
// Replace with http://localhost:3000/authorized-client console.error("Redirect URIs not properly configured");
if (window.location.href.startsWith('http://local.4nkweb.com')) { } else if (window.location.href.startsWith(`${variables.ANK_BASE_REDIRECT_URI}/authorized-client`)) {
window.location.href = window.location.href.replace('http://local.4nkweb.com:3000/authorized-client', 'http://localhost:3000/authorized-client'); const newUrl = window.location.href.replace(
return; `${variables.ANK_BASE_REDIRECT_URI}/authorized-client`,
`${variables.FRONT_APP_HOST}/authorized-client`
);
history.replaceState(null, '', newUrl); // Change l'URL sans rechargement
} }
// else if (window.location.href.startsWith(variables.ANK_BASE_REDIRECT_URI)) {
// window.location.href = window.location.href.replace(`${variables.ANK_BASE_REDIRECT_URI}/authorized-client`, `${variables.FRONT_APP_HOST}/authorized-client`);
// return;
// }
const code = router.query["code"]; const code = router.query["code"];
if (code) { if (code) {
try { try {

View File

@ -35,6 +35,8 @@ export class FrontendVariables {
public API_URL!: string; public API_URL!: string;
public ANK_BASE_REDIRECT_URI!: string;
private constructor() {} private constructor() {}
public static getInstance(): FrontendVariables { public static getInstance(): FrontendVariables {