GithubHelp home page GithubHelp logo

Comments (3)

benjamincanac avatar benjamincanac commented on May 24, 2024 4

You can make a simple redirection to the strapi endpoint in your login method:

window.location = `${this.$config.strapiUrl}/connect/github`

In this example strapiUrl is injected through the publicRuntimeConfig in nuxt.config.js:

publicRuntimeConfig: {
	strapiURL: process.env.STRAPI_URL || 'http://localhost:1337'
},

Then, you have to create the redirect page, in this example we assume the url is /auth/github/callback (depends on your strapi config). Create a pages/auth/_provider/callback.vue page that will fetch the jwt and inject it in the strapi module:

<script>
export default {
  async fetch ({ route, redirect, $strapi }) {
    try {
      const { jwt } = await $strapi.$http.$get('/auth/github/callback', {
        searchParams: {
          access_token: route.query.access_token
        }
      })

      $strapi.setToken(jwt)

      await $strapi.fetchUser()

	  // Useful if you have a middleware that sets the `redirect` cookie when accessing a private page
      redirect($strapi.$cookies.get('redirect') || '/')
    } catch (e) {}
  }
}
</script>

from strapi.

Tragio avatar Tragio commented on May 24, 2024 1

@benjamincanac would be awesome if this could be added to the documentation 😄

from strapi.

colodenn avatar colodenn commented on May 24, 2024

Thanks!

from strapi.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.