diff --git a/CHANGELOG.md b/CHANGELOG.md
index 3534546..0c85932 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -15,6 +15,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
### 🚀 Features
- Add support for WordPress templates [#6](https://github.com/hex-digital/nuxtpress/issues/6)
+- Add example login page and integrate auth store with WP API client [#7](https://github.com/hex-digital/nuxtpress/issues/7)
## [0.0.2] - 2020-02-15
diff --git a/docker-compose.yml b/docker-compose.yml
index 047ab92..192b1cc 100644
--- a/docker-compose.yml
+++ b/docker-compose.yml
@@ -38,6 +38,7 @@ services:
WORDPRESS_DEBUG: ${NUXTPRESS_WP_DEBUG:-1}
WORDPRESS_CONFIG_EXTRA: |
define( 'WP_HEADLESS_URL', '${NUXTPRESS_URL_FRONTEND:-http://localhost:3000}' );
+ define( 'JWT_AUTH_SECRET_KEY', '${NUXTPRESS_WP_JWT_SECRET:-k4e8QlKsniiCbm7e49HEhQTsa4z11Uev}');
define( 'WP_SITEURL', 'http://localhost:${NUXTPRESS_WP_PORT:-3080}' );
define( 'WP_HOME', 'http://localhost:${NUXTPRESS_WP_PORT:-3080}' );
diff --git a/nuxt/nuxt.config.js b/nuxt/nuxt.config.js
index 862a7bb..168d352 100644
--- a/nuxt/nuxt.config.js
+++ b/nuxt/nuxt.config.js
@@ -63,6 +63,8 @@ export default {
modules: [
// Doc: https://axios.nuxtjs.org/usage
'@nuxtjs/axios',
+ // Doc: https://auth.nuxtjs.org/guide
+ '@nuxtjs/auth',
// '@nuxtjs/pwa',
'~/modules/static/',
[
@@ -77,6 +79,20 @@ export default {
** See https://axios.nuxtjs.org/options
*/
axios: {},
+ /*
+ ** Auth configuration
+ ** See https://auth.nuxtjs.org/schemes/local.html
+ */
+ auth: {
+ strategies: {
+ local: {
+ endpoints: {
+ login: { url: `${wpUrl}/wp-json/jwt-auth/v1/token`, method: 'post', propertyName: 'token' },
+ user: { url: `${wpUrl}/wp-json/wp/v2/users/me`, method: 'get', propertyName: false },
+ },
+ },
+ },
+ },
/*
** Build configuration
*/
diff --git a/nuxt/package.json b/nuxt/package.json
index 8d7d4ae..27bf073 100644
--- a/nuxt/package.json
+++ b/nuxt/package.json
@@ -28,7 +28,8 @@
}
},
"dependencies": {
- "@nuxtjs/axios": "^5.3.6",
+ "@nuxtjs/auth": "^4.8.5",
+ "@nuxtjs/axios": "^5.9.5",
"@nuxtjs/dotenv": "^1.4.1",
"@nuxtjs/pwa": "^3.0.0-0",
"@nuxtjs/style-resources": "^1.0.0",
diff --git a/nuxt/pages/login.vue b/nuxt/pages/login.vue
new file mode 100644
index 0000000..7f0f5b4
--- /dev/null
+++ b/nuxt/pages/login.vue
@@ -0,0 +1,23 @@
+
+
+
+ Login
+ Login
+
+
+
+
+
diff --git a/nuxt/yarn.lock b/nuxt/yarn.lock
index 91ec2f1..78004d7 100644
--- a/nuxt/yarn.lock
+++ b/nuxt/yarn.lock
@@ -1348,7 +1348,21 @@
webpack-node-externals "^1.7.2"
webpackbar "^4.0.0"
-"@nuxtjs/axios@^5.3.6":
+"@nuxtjs/auth@^4.8.5":
+ version "4.8.5"
+ resolved "https://registry.yarnpkg.com/@nuxtjs/auth/-/auth-4.8.5.tgz#5d8a2ce2965c0b9feded5410c262b51788f97eee"
+ integrity sha512-GqRKj+hrQhz1M4rjMyIiOcwJQBi79wlYshw26Uz79ASgTBupQjRFQVgB/nj6crdOGVVTZLQqOjALvdVmr9rqOg==
+ dependencies:
+ "@nuxtjs/axios" "^5.9.0"
+ body-parser "^1.19.0"
+ consola "^2.11.2"
+ cookie "^0.4.0"
+ is-https "^1.0.0"
+ js-cookie "^2.2.1"
+ lodash "^4.17.15"
+ nanoid "^2.1.8"
+
+"@nuxtjs/axios@^5.9.0", "@nuxtjs/axios@^5.9.5":
version "5.9.5"
resolved "https://registry.yarnpkg.com/@nuxtjs/axios/-/axios-5.9.5.tgz#5adc0acc4deb7e1d67ab7240c741a401a6c01823"
integrity sha512-5sMsl5PbNSbAOou75wN2ztDAfGi6pU12zZQvfkDBz3s9KnKST/Azfc1FLw2Y8TR4UaDv074vt20oxK+z7AnH1A==
@@ -3220,7 +3234,7 @@ bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.1.1, bn.js@^4.4.0:
resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.8.tgz#2cde09eb5ee341f484746bb0309b3253b1b1442f"
integrity sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==
-body-parser@1.19.0:
+body-parser@1.19.0, body-parser@^1.19.0:
version "1.19.0"
resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.19.0.tgz#96b2709e57c9c4e09a6fd66a8fd979844f69f08a"
integrity sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==
@@ -4051,7 +4065,7 @@ connect@^3.7.0:
parseurl "~1.3.3"
utils-merge "1.0.1"
-consola@^2.10.0, consola@^2.10.1, consola@^2.11.1, consola@^2.11.3, consola@^2.4.0, consola@^2.5.6, consola@^2.6.0, consola@^2.9.0:
+consola@^2.10.0, consola@^2.10.1, consola@^2.11.1, consola@^2.11.2, consola@^2.11.3, consola@^2.4.0, consola@^2.5.6, consola@^2.6.0, consola@^2.9.0:
version "2.11.3"
resolved "https://registry.yarnpkg.com/consola/-/consola-2.11.3.tgz#f7315836224c143ac5094b47fd4c816c2cd1560e"
integrity sha512-aoW0YIIAmeftGR8GSpw6CGQluNdkWMWh3yEFjH/hmynTYnMtibXszii3lxCXmk8YxJtI3FAK5aTiquA5VH68Gw==
@@ -4107,7 +4121,7 @@ cookie-signature@1.0.6:
resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c"
integrity sha1-4wOogrNCzD7oylE6eZmXNNqzriw=
-cookie@0.4.0:
+cookie@0.4.0, cookie@^0.4.0:
version "0.4.0"
resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.0.tgz#beb437e7022b3b6d49019d088665303ebe9c14ba"
integrity sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==
@@ -7271,6 +7285,11 @@ is-hexadecimal@^1.0.0:
resolved "https://registry.yarnpkg.com/is-hexadecimal/-/is-hexadecimal-1.0.4.tgz#cc35c97588da4bd49a8eedd6bc4082d44dcb23a7"
integrity sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw==
+is-https@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/is-https/-/is-https-1.0.0.tgz#9c1dde000dc7e7288edb983bef379e498e7cb1bf"
+ integrity sha512-1adLLwZT9XEXjzhQhZxd75uxf0l+xI9uTSFaZeSESjL3E1eXSPpO+u5RcgqtzeZ1KCaNvtEwZSTO2P4U5erVqQ==
+
is-map@^2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/is-map/-/is-map-2.0.1.tgz#520dafc4307bb8ebc33b813de5ce7c9400d644a1"
@@ -7954,6 +7973,11 @@ js-beautify@^1.6.12:
mkdirp "~0.5.1"
nopt "~4.0.1"
+js-cookie@^2.2.1:
+ version "2.2.1"
+ resolved "https://registry.yarnpkg.com/js-cookie/-/js-cookie-2.2.1.tgz#69e106dc5d5806894562902aa5baec3744e9b2b8"
+ integrity sha512-HvdH2LzI/EAZcUwA8+0nKNtWHqS+ZmijLA30RwZA0bo7ToCckjK5MkGhjED9KoRcXO6BaGI3I9UIzSA1FKFPOQ==
+
"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
@@ -8987,6 +9011,11 @@ nan@^2.12.1, nan@^2.13.2:
resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.0.tgz#7818f722027b2459a86f0295d434d1fc2336c52c"
integrity sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg==
+nanoid@^2.1.8:
+ version "2.1.11"
+ resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-2.1.11.tgz#ec24b8a758d591561531b4176a01e3ab4f0f0280"
+ integrity sha512-s/snB+WGm6uwi0WjsZdaVcuf3KJXlfGl2LcxgwkEwJF0D/BWzVWAZW/XY4bFaiR7s0Jk3FPvlnepg1H1b1UwlA==
+
nanomatch@^1.2.9:
version "1.2.13"
resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119"