私は鳥居でgithub-oauth2プロバイダを使用しようとしていますが、私はコールバックの一部をどのようにセットアップするべきかについては困惑しています。私が使用しているコードと、それを理解していることをトレースし、うまくいけばどこが間違っているのかを特定するのに役立ちます。Ember.jsとTorii(oauth2)でgithubに接続
まず、それがドキュメントで行うことを言うように自分の行動に、私は鳥居のopen
メソッドを呼んでいる:
config/environment.js
で次のセットアップを持って、
this.get('torii').open('github-oauth2').then((data) => {
this.transitionTo('dashboard')
})
をと
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'
}
}
},
}
redirectUriは私のRailsサーバ用です。私は私のgithubアプリケーションで同じredirectUriの設定を持っているので、それらは一致します。
私のサーバーには次のものがあります。これは問題のある場所です。私は最後の症状に遭遇するでしょう。
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
私はになってるように私は、githubののaccess_tokenはエンドポイントへの投稿、と私は戻って、アクセストークンとの結果を得ます。次に、そのアクセストークンをjsonとしてパッケージ化します。
この結果は、鳥居のポップアップがレールのページに行くことです:
鳥居のポップアップが消えるのを残念ながら、私が望んでいたことだった、私のアプリaccess_token
を与え、私のthen
ブロックのコードを実行してコードを実行する
どこが間違っていますか?