Commit 881fd2bd authored by tom's avatar tom

use link helper for auth

parent 04ca8bcc
...@@ -101,6 +101,12 @@ export const ROUTES = { ...@@ -101,6 +101,12 @@ export const ROUTES = {
other: { other: {
pattern: `${ BASE_PATH }/search-results`, pattern: `${ BASE_PATH }/search-results`,
}, },
// AUTH
auth: {
// no slash required, it is correct
pattern: `${ BASE_PATH }auth/auth0`,
},
}; };
// !!! for development purpose only !!! // !!! for development purpose only !!!
......
const { NextResponse } = require('next/server'); const { NextResponse } = require('next/server');
const { NAMES } = require('lib/cookies'); const { NAMES } = require('lib/cookies');
const NETWORKS = require('lib/networks/availableNetworks').default; const { link } = require('lib/link/link');
const findNetwork = require('lib/networks/findNetwork').default;
export function middleware(req) { export function middleware(req) {
const [ , networkType, networkSubtype ] = req.nextUrl.pathname.split('/'); const [ , networkType, networkSubtype ] = req.nextUrl.pathname.split('/');
const selectedNetwork = NETWORKS.find(({ type, subType }) => const networkParams = {
type === networkType && (subType ? subType === networkSubtype : true)); network_type: networkType,
network_sub_type: networkSubtype,
};
const selectedNetwork = findNetwork(networkParams);
if (selectedNetwork) { if (selectedNetwork) {
const apiToken = req.cookies.get(NAMES.API_TOKEN); const apiToken = req.cookies.get(NAMES.API_TOKEN);
if (!apiToken) { if (!apiToken) {
const authPath = `/${ selectedNetwork.type }/${ selectedNetwork.subType }auth/auth0`; const authUrl = link('auth', networkParams);
return NextResponse.redirect(authUrl);
return NextResponse.redirect(new URL(authPath, 'https://blockscout.com/'));
} }
} }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment