GithubHelp home page GithubHelp logo

chrisemoulton / bare-auth Goto Github PK

View Code? Open in Web Editor NEW

This project forked from lapwinglabs/bare-auth

0.0 1.0 0.0 15 KB

Bare Auth is a ready-to-deploy stateless authentication server.

Home Page: http://bare.lapwinglabs.com/

Makefile 1.44% CSS 13.51% HTML 7.78% JavaScript 77.28%

bare-auth's Introduction

logo

Bare Auth is a ready-to-deploy stateless authentication server.

This server supports various authentication strategies out of the box. You can enable the routes by supplying the specified environment variables below. You can also extend the server by requiring it directly.

You'll probably want to use the client-side libraries that accompany the server-side component for a seamless experience. You can find the client-side libraries for each provider below.

Usage

Pushing to a Dokku server:

git clone https://github.com/lapwinglabs/bare-auth.git
git remote add dokku [email protected]:auth
git push dokku master

ssh [email protected] config:set auth JWT_SECRET=zippity-doo-da GOOGLE_CLIENT_SECRET=...

Accepting PRs for Heroku instructions or a Heroku deploy button :-)

Design

The purpose of this server is to simply retrieve user data from 3rd party providers. It does not tie into your backend models at all and is not meant to store any user data.

Providers

Provider Author Description Environment Variables
Google Lapwing Labs Log in with Google GOOGLE_CLIENT_SECRET
Twitter Lapwing Labs Log in with Twitter TWITTER_CONSUMER_KEY, TWITTER_CONSUMER_SECRET
Facebook Lapwing Labs Log in with Facebook FACEBOOK_CLIENT_SECRET
LinkedIn Lapwing Labs Log in with LinkedIn LINKEDIN_CLIENT_SECRET

If you create your own authentication strategy, submit a pull request!

JWT support

Bare Auth comes with built-in support for JSON Web Tokens. To sign the response, simply add the JWT_SECRET environment variable.

You should pass this token to your API to create, update or verify the User. In order for the token to be accepted, the JWT secret must be the same on both servers.

Setting a JWT is recommended to ensure that the request to your API has not been tampered with or forged by an evil-doer.

Additionally, you can adjust the expiration by setting the JWT_EXPIRATION.

Frontend

Bare Auth comes with a built-in frontend to help with testing. You can enable the frontend by setting the FRONTEND=path environment variable. By default, path is /. Here's what the frontend looks like:

bare auth

License

MIT

Copyright (c) 2015 MatthewMueller <[email protected]>

bare-auth's People

Contributors

matthewmueller avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.