Vue-Authenticate for Github Login

655 Views Asked by At

I have used the Vue-Authenticate plugin for the social login and this is my configuration for the Github Login

 providers: {
    github: {
      clientId: 'my Id',
      redirectUri: 'https://' + process.env.PROJECT_DOMAIN,
      responseType: 'token',
      authorizationEndpoint: 'https://github.com/login/oauth/authorize',
    },
  },

And in the method through which is calling the method after authentication is

 authenticate(provider) {
      const this_ = this
      this.$auth.authenticate(provider).then(function () {
        const token = this_.$auth.getToken()
        if (provider === 'github') {
          const options = {
            headers: {
              Authorization: 'token ' + token,
            },
          }
          this_.$http
            .post('https://api.github.com/user', options)
            .then(function (response) {
              if (response.status === 200) {
                const { email, name, picture } = response.data
                const data = {
                  email,
                  name,
                  image: picture.data.url,
                }
                this_.createOAuth2User(data, provider)
              }
            })
            .catch((error) => {
              console.log(error)
            })
        }
      })
    },

I am able to receive an access token after successful authentication but when I try to use that token to access the user details and hit the https://api.github.com/user API I am getting 401 error. So is there something I am missing while authentication with github?

0

There are 0 best solutions below