1.0.26 • Published 3 years ago

@layeredapps/oauth v1.0.26

Weekly downloads
-
License
ISC
Repository
-
Last release
3 years ago

Documentation for OAuth module

Shortcuts

Index

Introduction

Dashboard bundles everything a web app needs, all the "boilerplate" like signing in and changing passwords, into a parallel server so you can write a much smaller web app.

OAuth provide authentication options for websites using the Oauth standard, so users can "sign in with" GitHub and other compatible services rather than by username/password.

When the user authenticates with an OAuth service they can optionally be required to complete a profile with contact or other information.

Sessions created with OAuth do not expire until the user signs out or the session is expired in the user / administrator options.

Accounts created with OAuth cannot change username, change password, or use reset codes. If they navigate to these routes the requests are intercepted by a server handler and redirected to a conversion form that can convert an OAuth account to username/password.

Import this module

Install the module with NPM:

$ npm install @layeredapps/oauth

Edit your package.json to activate the module:

"dashboard": {
  "modules": [
    "@layeredapps/oauth"
  ]
}

Edit your package.json to include the scripts for provider buttons which injects a <div id="oauth-buttons" /> into the signin and register pages:

"dashboard": {
  "content": [
    "@layeredapps/oauth/src/content/register-buttons.js",
    "@layeredapps/oauth/src/content/signin-buttons.js"
  ]
}

Add provider modules, eg:

$ npm install @layeredapps/oauth-github

And configure the provider modules:

"dashboard": {
  "modules": [
    "@layeredapps/oauth",
    "@layeredapps/oauth-github"
  ]
  "server": [
    "@layeredapps/oauth/src/server/redirect-unused.js",
  ],
  "content": [
    "@layeredapps/oauth/src/content/register-buttons.js",
    "@layeredapps/oauth/src/content/signin-buttons.js",
    "@layeredapps/oauth-github/src/content/error-templates.js",
    "@layeredapps/oauth-github/src/content/register-button.js",
    "@layeredapps/oauth-github/src/content/signin-button.js"
  ]
}

Optionally require the user complete a profile with Dashboard's configuration setting:

REQUIRE_PROFILE=true
USER_PROFILE_FIELDS=....

Provided server, content and proxy handlers

This module comes with some convenience scripts you can add to your package.json:

TypeScript pathDescription
content@layeredapps/oauth/src/content/register-buttons.jsAdds a <div id="oauth-buttons"></div> container to the registration page for placing provider buttons.
content@layeredapps/oauth/src/content/signin-buttons.jsAdds a <div id="oauth-buttons"></div> container to the signin page for placing provider buttons.
server@layeredapps/oauth/src/server/redirect-unused.jsRedirects change-username, change-password and create-reset-code to a page where users may convert their Oauth-credentialed account to a username/password account.
1.0.22

3 years ago

1.0.26

3 years ago

1.0.25

3 years ago

1.0.24

3 years ago

1.0.23

3 years ago

1.0.21

3 years ago

1.0.20

3 years ago

1.0.19

3 years ago

1.0.18

3 years ago

1.0.17

3 years ago

1.0.16

3 years ago

1.0.15

3 years ago

1.0.14

3 years ago

1.0.12

3 years ago

1.0.11

3 years ago

1.0.10

3 years ago

1.0.9

3 years ago

1.0.8

3 years ago

1.0.7

3 years ago

1.0.6

3 years ago

1.0.5

3 years ago

1.0.4

3 years ago

1.0.3

3 years ago

1.0.2

3 years ago

1.0.1

3 years ago