Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

656
Views
¿Cómo establecer el alcance (o función) de nuxt $ auth.user?

Estoy usando nuxt-auth con la configuración de google oauth2, aquí está mi configuración nuxt.config.js :

 auth: { scopeKey: 'scope', strategies: { google: { client_id: process.env.GOOGLE_KEY, codeChallengeMethod: '', scope: ['profile', 'email'], responseType: 'token id_token' } }, redirect: { login: '/login', logout: '/logout', home: '/', callback: '/welcome' } }, router: { middleware: ['auth'] },

Utilizo este código para iniciar sesión.

 this.$auth.loginWith('google')

Quiero configurar un rol para el usuario (visitar la base de datos de la aplicación) después de un inicio de sesión exitoso, así que agregué este código a mi welcome.vue (página de devolución de llamada de oauth2)

 <script> export default { mounted () { const user = this.$auth.user user['scope'] = 'some_role_from_db' this.$auth.setUser(user) } } </script>

pero este código nunca se llama, porque la aplicación se redirige inmediatamente a la página que el usuario seleccionó antes de visitar la página de inicio de sesión (se muestra el marcado HTML de welcome.vue durante 1 segundo).

¿Cuál es la forma correcta de establecer algunos atributos en this.$auth.user inmediatamente después de iniciar sesión? ¿Hay alguna manera fácil de establecer el rol del usuario después de la autenticación OAUTH2?

over 4 years ago · Santiago Trujillo
2 answers
Answer question

0

los roles de usuario deben provenir del servidor y es incorrecto definirlo desde el lado del cliente, pero si eso es importante, puede hacerlo así:

 this.$auth.loginWith('google').then(() => { const user = this.$auth.user user['scope'] = 'some_role_from_db' this.$auth.setUser(user) })
over 4 years ago · Santiago Trujillo Report

0

He agregado esta sección a mi objeto de autenticación en nuxt.config.js

 rewriteRedirects: false

y entonces mi aplicación siempre me redirige a la URL de home , y en la página de inicio puedo acceder al objeto de autenticación como

 <script> export default { mounted () { const user = this.$auth.user user['scope'] = 'some_role_from_db' this.$auth.setUser(user) } } </script>
over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!