1.0.26 • Published 2 years ago

@layeredapps/oauth v1.0.26

Weekly downloads
-
License
ISC
Repository
-
Last release
2 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

2 years ago

1.0.26

2 years ago

1.0.25

2 years ago

1.0.24

2 years ago

1.0.23

2 years ago

1.0.21

2 years ago

1.0.20

2 years ago

1.0.19

2 years ago

1.0.18

2 years ago

1.0.17

2 years ago

1.0.16

2 years ago

1.0.15

2 years ago

1.0.14

2 years ago

1.0.12

2 years ago

1.0.11

2 years ago

1.0.10

2 years ago

1.0.9

2 years ago

1.0.8

2 years ago

1.0.7

2 years ago

1.0.6

2 years ago

1.0.5

2 years ago

1.0.4

2 years ago

1.0.3

2 years ago

1.0.2

2 years ago

1.0.1

2 years ago