lundi 16 mai 2016

Connecting to github with Ember.js and Torii (oauth2)

I'm trying to use the github-oauth2 provider in Torii, but I'm stumped on how I'm supposed to se tup some of the callbacks. I'll trace the code I'm using, as well as my understanding of it, and hopefully that can help pinpoint where I'm going wrong.

First, in my action, I'm calling torii's open method as it says to do in the docs:

this.get('torii').open('github-oauth2').then((data) => {
  this.transitionTo('dashboard')
})

And, of course, I have the following setup in my config/environment.js:

var ENV = {
  torii: {
    // a 'session' property will be injected on routes and controllers
    sessionServiceName: 'session',
    providers: {
      'github-oauth2': {
        apiKey:      'my key',
        redirectUri: 'http://ift.tt/1ZYRv5k'
      }
    }
  },
}

The redirectUri is for my Rails server. I have the same redirectUri setup on my github app, so they match.

Here's what I have on my server. It's likely this is where the problem is. I'll get to the symptoms at the end.

def github
  client_id = 'my id'
  client_secret = 'my secret'
  code = params[:code]
  @result = HTTParty.post("http://ift.tt/1V6DTFV}")
  @access_token = @result.parsed_response.split('&')[0].split('=')[1]
  render json: {access_token: @access_token}  
end

So I post to github's access_token endpoint, as I'm supposed to, and I get back a result with an access token. Then I package up that access token as json.

The result of this is that the torii popup goes to the rails page:

enter image description here

Unfortunately, what I was hoping for was for the torii popup to disappear, give my app the access_token, and for the code to move on and execute the code in my then block.

Where am I going wrong?




Aucun commentaire:

Enregistrer un commentaire