Ich versuche, den Anbieter github-oauth2 in Torii zu verwenden, aber ich bin ratlos, wie ich einige der Rückrufe einstellen soll. Ich werde den Code, den ich verwende, sowie mein Verständnis davon verfolgen, und hoffentlich kann das helfen, herauszufinden, wo ich falsch liege.Verbinden mit GitHub mit Ember.js und Torii (oauth2)
Zuerst in meiner Aktion, ich rufe open
Methode des Torii, wie er sagt, in der Dokumentation zu tun:
this.get('torii').open('github-oauth2').then((data) => {
this.transitionTo('dashboard')
})
Und natürlich habe ich die folgende Einstellung in meinem config/environment.js
haben:
var ENV = {
torii: {
// a 'session' property will be injected on routes and controllers
sessionServiceName: 'session',
providers: {
'github-oauth2': {
apiKey: 'my key',
redirectUri: 'http://127.0.0.1:3000/github_auth'
}
}
},
}
Die redirectUri ist für meinen Rails-Server. Ich habe das gleiche RedirectUri Setup auf meiner GitHub-App, so dass sie übereinstimmen.
Hier ist, was ich auf meinem Server habe. Hier liegt wahrscheinlich das Problem. Ich werde am Ende zu den Symptomen kommen.
def github
client_id = 'my id'
client_secret = 'my secret'
code = params[:code]
@result = HTTParty.post("https://github.com/login/oauth/access_token?client_id=#{client_id}&client_secret=#{client_secret}&code=#{code}")
@access_token = @result.parsed_response.split('&')[0].split('=')[1]
render json: {access_token: @access_token}
end
So schreibe ich auf Github der access_token Endpunkt, wie ich angeblich bin, und ich bekomme wieder ein Ergebnis mit einem Zugriffstoken. Dann verpacke ich dieses Access-Token als json.
Das Ergebnis davon ist, dass die Torii Popup auf der Seite Schienen geht:
Leider, was ich hatte gehofft, für die Torii Popup war zu verschwinden, geben meine app die access_token
und damit der Code weitergeht und den Code in meinem then
Block ausführt.
Wohin gehe ich falsch?