Security News
Research
Data Theft Repackaged: A Case Study in Malicious Wrapper Packages on npm
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
gatsby-theme-auth-app
Advanced tools
This is theme which incorporates Auth0, Material-UI for styling components and a sidebar navigation.
This is theme which incorporates Auth0, Material-UI for styling components and a sidebar navigation.
See the live demo
Use the auth app starter
gatsby new my-auth-app https://github.com/ethriel3695/gatsby-theme-auth-app
cd [projectName]
// package.json
{
"private": false,
"name": "demo",
"version": "0.1.0",
"license": "MIT",
"scripts": {
"build": "gatsby build",
"develop": "rimraf ./.cache && rimraf ./public && gatsby develop",
"format": "prettier --write src/**/*.{js,jsx}",
"start": "npm run develop",
"serve": "gatsby serve",
"test": "echo \"Write tests! -> https://gatsby.dev/unit-testing\""
}
}
npm i gatsby gatsby-theme-auth-app react react-dom
content
folder in the root
directoryassets
folder in the content
directorypost
folder in the content
directoryIf you want to add a hero image:
hero
folder and add an image to the folderIf you want a logo:
logo
folder and add your logo named logo.[fileExtension]
NOTE:
Iterate the post folders for example 01, 02, 03
Folder structure 01/images/[image]
, [postName].mdx
slug: /routeName label: Route Label for Nav title: Title of Post description: Description of Post date: Created Date categories: ["react", "node"] banner: "./images/hero.jpg" published: true
To use this theme in your Gatsby sites, follow these instructions:
Install the theme
npm install --save gatsby-theme-auth-app
Key | Default value | Description |
---|---|---|
basePath | / | Root url for all blog posts |
contentPath | /content/post | Location of blog posts |
excelPath | /content/excel | Use excel data to generate page content |
assetPath | /content/assets | Location of assets |
mdx | true | Configure gatsby-plugin-mdx (if your website already is using the plugin pass false to turn this off) |
In addition to the theme options, there are a handful of items you must modify via the siteMetadata
object in your site's gatsby-config.js
The Social tags, if left as an empty string will not appear in the footer
The External Links accept a label as the text for the a tag and the link is the value for the href attribute
// gatsby-config.js
module.exports = {
plugins: [
{
resolve: 'gatsby-theme-auth-app',
options: {},
},
],
siteMetadata: {
title: `Demo`,
author: `Reuben Ellis`,
description: `An Authentication Site Built with Gatsby, GraphQL, Material-UI and Auth0.`,
greeting: `This is an optional greeting for a home page with a Hero image`,
copyright: `Copyright © 2019 [Business] - No part of this website may be reproduced without specific written permission... Just Kidding Copy Away!!!`,
loginDesc: 'Login / Signup',
isAuthApp: false,
social: {
facebook: 'https://www.facebook.com/altcampus',
twitter: 'https://www.twitter.com/altcampus',
github: 'https://www.github.com/[githubUserName]',
email: 'test@example.com',
},
externalLinks: [{ label: '', link: '' }],
},
};
env.development
file to hold your environment variablesenv.development
file with the correct values from your Auth0 account.
If you do not have an Auth0 account create one for free Auth0// env.development
GATSBY_AUTH0_DOMAIN = domain.auth0.com; // Replace domain with your auth0 domain
GATSBY_AUTH0_CLIENT_ID = secret_client_id; // This ID can be found after creating an Application within Auth0 within the Application tab
GATSBY_AUTH0_CALLBACK_URL = `http://localhost:8000/callback`; //Remove the literal string character when replacing the callback url
GATSBY_AUTH0_REDIRECT_URL = `http://localhost:8000`; //Remove the literal string character when replacing the callback url
/content
: A content folder holding assets that the theme expects to exist. This will vary from theme to theme -- this starter expects a logo directory with either a png, jpg or svg image, a post directory for content and mdx files and a data directory for JSON files. NOTE
If the logo directory is empty the theme will use the title attribute in the gatsby-config.js
file.
/src
: You will probably want to customize your site to personalize it. The files under /src/gatsby-theme-auth-app
shadow, or override, the files of the same name in the gatsby-theme-auth-app
package. To learn more about this, check out the guide to getting started with using the blog theme starter.
Example
: src/gatsby-theme-auth-app/components/layout.css
and then edit the following hex values for color scheme changes:
.appHeader {
background: linear-gradient(
to bottom,
#325da7 0%,
#325da7 19%,
#325da7 30%,
#325da7 100%
);
box-shadow: inset 0 1px 6px 0 #325da7;
flex-grow: 1;
margin: auto 0;
}
.fontAwesomeFooterIcon {
color: #325da7;
cursor: pointer;
text-decoration: none;
text-shadow: 2px 2px #282828;
}
.socialLink {
cursor: pointer;
font-size: 25px;
margin: 1rem 1rem;
text-decoration: none;
}
.externalLink {
color: #325da7;
font-size: 18px;
margin: 1rem 1rem;
text-decoration: none;
text-shadow: 2px 2px #dddddd;
}
.gitignore
: This file tells git which files it should not track / not maintain a version history for.
.prettierrc
: This file tells Prettier which configuration it should use to lint files.
gatsby-config.js
: This is the main configuration file for a Gatsby site. This is where you can specify information about your site (metadata) like the site title and description, which Gatsby plugins you’d like to include, etc. When using themes, it's where you'll include the theme plugin, and any customization options the theme provides.
LICENSE
: Gatsby is licensed under the MIT license.
package-lock.json
(See package.json
below, first). This is an automatically generated file based on the exact versions of your npm dependencies that were installed for your project. (You won’t change this file directly).
package.json
: A manifest file for Node.js projects, which includes things like metadata (the project’s name, author, etc). This manifest is how npm knows which packages to install for your project.
README.md
: A text file containing useful reference information about your project.
FAQs
This is theme which incorporates Auth0, Material-UI for styling components and a sidebar navigation.
The npm package gatsby-theme-auth-app receives a total of 8 weekly downloads. As such, gatsby-theme-auth-app popularity was classified as not popular.
We found that gatsby-theme-auth-app demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Research
The Socket Research Team breaks down a malicious wrapper package that uses obfuscation to harvest credentials and exfiltrate sensitive data.
Research
Security News
Attackers used a malicious npm package typosquatting a popular ESLint plugin to steal sensitive data, execute commands, and exploit developer systems.
Security News
The Ultralytics' PyPI Package was compromised four times in one weekend through GitHub Actions cache poisoning and failure to rotate previously compromised API tokens.