Tengo la siguiente configuración de autenticación en mi nuxt.config.js
auth: { strategies: { google: { client_id: process.env.GOOGLE_KEY, codeChallengeMethod: '', scope: ['profile', 'email'], responseType: 'token id_token' } }, redirect: { login: '/login', logout: '/logout', home: '/', callback: '/welcome' }, rewriteRedirects: false }, router: { middleware: ['auth'] }, serverMiddleware: [ { path: '/db', handler: '~/api/db.js' }, ], Esto configura la autenticación de frontend, por lo que todas mis páginas .vue están protegidas. Además de eso, tengo algún serverMiddleware, como en mi api/db.js
const app = require('express')() app.get('/fields/:schema', async (req, res) => { var result = [] // some logics here return result; }) La solicitud a este recurso no está protegida por ninguna autenticación, pero he notado en la pestaña Red del navegador que todas las solicitudes realizadas por $axios.$get('db/fields/some_schema') de mis páginas .vue configuran algunas cookies de Google , me gusta
auth.strategy=google; auth._token.google=Bearer... que no se usa en mi serverMiddleware api/db.js
¿Nuxt.js tiene alguna forma lista para usar de configurar la autenticación de Google para el middleware del servidor? ¿Cuál es la forma correcta de configurarlo?
Tuve que usar esta configuración nuxt
auth: { strategies: { google: { clientId: 'to be added', clientId: '<your cliendID here>', codeChallengeMethod: '', responseType: 'code', endpoints: { token: 'http://localhost:8000/social-login/google/', userInfo: 'http://localhost:8000/auth/user/' }, }, } },e implementar token de back-end y puntos finales de información de usuario