druxt-auth
v0.4.0
Published
[![npm](https://badgen.net/npm/v/druxt-auth)](https://www.npmjs.com/package/druxt-auth) [![CI](https://github.com/druxt/druxt-auth/actions/workflows/ci.yml/badge.svg)](https://github.com/druxt/druxt-auth/actions/workflows/ci.yml) [![Known Vulnerabilities]
Downloads
108
Maintainers
Readme
DruxtAuth
Druxt Authentication with Drupal Simple OAuth2 and nuxt/auth.
Links
- DruxtJS: https://druxtjs.org
- Community Discord server: https://discord.druxtjs.org
Install
$ npm install druxt-auth
Nuxt.js
Add module to nuxt.config.js
module.exports = {
buildModules: [
'druxt',
['druxt-auth', {
clientId: '[DRUPAL_CONSUMER_UUID]',
clientSecret: '[DRUPAL_CONSUMER_SECRET]',
scope: ['default'],
}]
],
druxt: {
baseUrl: 'https://demo-api.druxtjs.org'
},
}
Note: Replace [DRUPAL_CONSUMER_UUID]
and [DRUPAL_CONSUMER_SECRET]
with the details from the consumer created in the following step.
Drupal
Download, install and setup the Simple OAuth module.
Create a Consumer depending on your desired authorization strategy:
Authorization Code grant:
- New Secret: leave this empty
- Is Confidential: unchecked
- Use PKCE?: checked
- Redirect URI:
[FRONTEND_URL]/callback
(e.g.,http://localhost:3000/callback
)
Password grant:
- New Secret: provide a secure secret
- Is Confidential: checked
- Redirect URI:
[FRONTEND_URL]/callback
(e.g.,http://localhost:3000/callback
)
Usage
The DruxtAuth module installs and configures the nuxt/auth module for your Druxt site.
It adds two auth strategies that can be used via the $auth
plugin:
drupal-authorization_code
this.$nuxt.$auth.loginWith('drupal-authorization_code')
drupal-password
this.$nuxt.$auth.loginWith('drupal-password', { data: { username: '', password: '' } })
Note: Nuxt must be running in SSR mode for password grant, and client secret must be set.
See the nuxt/auth documentation form more details: https://auth.nuxtjs.org/api/auth
Options
| Option | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| clientId
| string
| Yes | undefined
| The Drupal Consumer UUID |
| clientSecret
| string
| No | undefined
| The Drupal Consumer API secret. Required for Password grant. |
| scope
| array
| No | undefined
| The OAuth Scopes to be used for the Drupal Consumer. |