import { Authenticator } from "@aws-amplify/ui-react"; import { Switch, Link, useRouteMatch, Route } from "react-router-dom"; import { UserPage } from "./UserPage"; import { AdminPage } from "./AdminPage"; import { SignOutButton } from "../components/SignOutButton"; export const ProtectedPage = () => { const { path, url } = useRouteMatch(); return ( {({ user }) => { const session = user.getSignInUserSession(); if (!session) throw new Error("SignInSession is empty!"); const accessToken = session.getAccessToken(); const groups = accessToken.payload["cognito:groups"] || []; const isAdmin = groups.includes("admin"); return (

Protected Page

Hi, {user.username}
{`Your group is ${ groups.length > 0 ? groups : "user" }`}
  • User
  • {isAdmin && (
  • Admin
  • )}

); }}
); };