mirror of
https://github.com/luxfi/explore.git
synced 2026-09-24 00:28:18 +00:00
Add OIDC authentication support using hanzo.id as the identity provider for Lux Explorer user accounts. - Add 'oidc' auth provider type alongside existing auth0/dynamic - AuthGuardOidc: redirect-based OIDC login flow with CSRF state - pages/auth/callback: authorization code exchange, token storage - useApiFetch: pass Bearer token for OIDC-authenticated API calls - account feature config: support NEXT_PUBLIC_OIDC_SERVER_URL and NEXT_PUBLIC_OIDC_CLIENT_ID environment variables - .env.production: configure hanzo.id as default OIDC provider
52 lines
2.8 KiB
TypeScript
52 lines
2.8 KiB
TypeScript
import * as guards from './guards';
|
|
import { factory } from './utils';
|
|
|
|
export const base = factory([ ]);
|
|
export const block = factory([ guards.notOpSuperchain ]);
|
|
export const tx = factory([ guards.notOpSuperchain ]);
|
|
export const token = factory([ guards.notOpSuperchain ]);
|
|
export const account = factory([ guards.account ]);
|
|
export const accountAuth0 = factory([ guards.accountAuth0 ]);
|
|
export const accountOidc = factory([ guards.accountOidc ]);
|
|
export const verifiedAddresses = factory([ guards.account, guards.verifiedAddresses ]);
|
|
export const userOps = factory([ guards.userOps ]);
|
|
export const marketplace = factory([ guards.marketplace ]);
|
|
export const marketplaceEssentialDapp = factory([ guards.marketplaceEssentialDapp ]);
|
|
export const apiDocs = factory([ guards.apiDocs ]);
|
|
export const csvExport = factory([ guards.csvExport ]);
|
|
export const stats = factory([ guards.stats ]);
|
|
export const suave = factory([ guards.suave ]);
|
|
export const nameServiceEns = factory([ guards.nameServiceEns ]);
|
|
export const nameServiceClusters = factory([ guards.nameServiceClusters ]);
|
|
export const nameServices = factory([ [ guards.nameServiceEns, guards.nameServiceClusters ] ]);
|
|
export const accounts = factory([ guards.accounts ]);
|
|
export const accountsLabelSearch = factory([ guards.accountsLabelSearch ]);
|
|
export const validators = factory([ guards.validators ]);
|
|
export const validatorDetails = factory([ guards.validatorDetails ]);
|
|
export const gasTracker = factory([ guards.gasTracker ]);
|
|
export const hotContracts = factory([ guards.hotContracts ]);
|
|
export const advancedFilter = factory([ guards.advancedFilter ]);
|
|
export const dataAvailability = factory([ guards.dataAvailability ]);
|
|
export const login = factory([ guards.login ]);
|
|
export const dev = factory([ guards.dev ]);
|
|
export const publicTagsSubmit = factory([ guards.publicTagsSubmit ]);
|
|
export const pools = factory([ guards.pools ]);
|
|
export const megaEth = factory([ guards.megaEth ]);
|
|
export const zetaChainCCTX = factory([ guards.zetaChainCCTX ]);
|
|
export const crossChainTxs = factory([ guards.notOpSuperchain, guards.crossChainTxs ]);
|
|
|
|
// ROLLUPS
|
|
export const rollup = factory([ guards.rollup ]);
|
|
export const deposits = factory([ guards.deposits ]);
|
|
export const withdrawals = factory([ guards.withdrawals ]);
|
|
export const batch = factory([ guards.batch ]);
|
|
export const batchCelestia = factory([ guards.batchCelestia ]);
|
|
export const txnWithdrawals = factory([ guards.txnWithdrawals ]);
|
|
export const outputRoots = factory([ guards.outputRoots ]);
|
|
export const disputeGames = factory([ guards.disputeGames ]);
|
|
export const mud = factory([ guards.mud ]);
|
|
export const tac = factory([ guards.tac ]);
|
|
export const celo = factory([ guards.celo ]);
|
|
export const interopMessages = factory([ guards.interopMessages ]);
|
|
export const opSuperchain = factory([ guards.opSuperchain ]);
|