Torii で github-oauth2 プロバイダーを使用しようとしていますが、いくつかのコールバックを設定する方法に困惑しています。私が使用しているコードとそれに対する私の理解をトレースします。うまくいけば、どこが間違っているのかを特定するのに役立ちます。
まず、私のアクションでopen
は、ドキュメントで行うように鳥居のメソッドを呼び出しています。
this.get('torii').open('github-oauth2').then((data) => {
this.transitionTo('dashboard')
})
そしてもちろん、私は私の中に次の設定をしています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://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 としてパッケージ化します。
この結果、torii ポップアップが rails ページに移動します。
残念ながら、私が望んでいたのは、鳥居のポップアップが消えて、アプリaccess_token
にthen
.
どこが間違っていますか?