Skip to content

Instantly share code, notes, and snippets.

@mbrown3321
mbrown3321 / About.js
Last active October 6, 2020 02:40
Components - React Suspense Demo
import React from "react";
const About = () => (
<div>
<h1>About</h1>
</div>
);
export default About;
import React, { Suspense } from 'react';
import {
BrowserRouter as Router,
Switch,
Route,
Link
} from "react-router-dom";
const About = React.lazy(() => import("./About"));
const ActiveUsers = React.lazy(() => import("./ActiveUsers"));
import React from 'react';
import ReactDOM from 'react-dom';
import './index.css';
import App from './App';
import * as serviceWorker from './serviceWorker';
import { Auth0Provider } from "@auth0/auth0-react";
ReactDOM.render(
<React.StrictMode>
<Auth0Provider
import React from 'react';
import { Navbar, Nav, Button } from "react-bootstrap"
import { useAuth0 } from "@auth0/auth0-react";
import 'bootstrap/dist/css/bootstrap.min.css';
const App = () => {
const { loginWithRedirect } = useAuth0();
return (
<div>
@mbrown3321
mbrown3321 / App.js
Created October 9, 2020 00:33
App.js - with logout
import React from 'react';
import { Navbar, Nav, Button } from "react-bootstrap"
import { useAuth0 } from "@auth0/auth0-react";
import 'bootstrap/dist/css/bootstrap.min.css';
const App = () => {
const { loginWithRedirect, isAuthenticated, logout } = useAuth0();
return (
<div>
import React from "react";
import { useAuth0 } from "@auth0/auth0-react";
import { Container, Card, Button } from "react-bootstrap"
const UserProfile = () => {
const { user, isAuthenticated, isLoading } = useAuth0();
if (isLoading) {
return <div>Loading ...</div>;
}
@mbrown3321
mbrown3321 / App.js
Created October 9, 2020 00:58
App.js with user profile
import React from 'react';
import { Navbar, Nav, Button } from "react-bootstrap"
import { useAuth0 } from "@auth0/auth0-react";
import 'bootstrap/dist/css/bootstrap.min.css';
import UserProfile from "./UserProfile";
const App = () => {
const { loginWithRedirect, isAuthenticated, logout } = useAuth0();
return (
const express = require('express');
const app = express();
const jwt = require('express-jwt');
const jwks = require('jwks-rsa');
const jwtAuthz = require('express-jwt-authz');
app.use(jwt({
secret: jwks.expressJwtSecret({
cache: true,
rateLimit: true,
const checkScopes = permissions => jwtAuthz(permissions);
app.get('/users', checkScopes(['read:users']), (req, res) => {
res.json({ users: [{ id: 1 }, { id: 2 }] })
})
app.post('/user', checkScopes(['create:users']), (req, res) => {
res.sendStatus(201);
});
function addRolesFromSqlServer(user, context, callback) {
const tedious = require('tedious');
// Roles should only be set to verified users.
if (!user.email || !user.email_verified) {
return callback(null, user, context);
}
getRoles(user.email, (err, roles) => {
if (err) return callback(err);