标签: torii

使用Ember.js和Torii(oauth2)连接到github

我正试图在Torii中使用github-oauth2提供程序,但我很难理解我应该如何设置一些回调.我将跟踪我正在使用的代码,以及我对它的理解,并希望这可以帮助确定我出错的地方.

首先,在我的行动中,我正在调用torii的open方法,就像它在文档中所说的那样:

this.get('torii').open('github-oauth2').then((data) => {
  this.transitionTo('dashboard')
})
Run Code Online (Sandbox Code Playgroud)

当然,我在我的设置中有以下设置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'
      }
    }
  },
}
Run Code Online (Sandbox Code Playgroud)

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
Run Code Online (Sandbox Code Playgroud)

所以我发布到github的access_token端点,就像我应该的那样,我得到一个带有访问令牌的结果.然后我将该访问令牌打包为json.

结果是torii弹出窗口转到rails页面:

在此输入图像描述

不幸的是,我所希望的是torii弹出窗口消失,给我的应用程序access_token,并让代码继续前进并执行我的then块中的代码.

我哪里错了?

ruby-on-rails github-api oauth-2.0 ember.js torii

3
推荐指数
1
解决办法
154
查看次数

EmberFire身份验证和ToriiFirebaseAdapter

我已经按照EmberFire 指南设置了torii 提供程序的身份验证,它运行正常.我希望在用户通过身份验证后将用户数据存储在firebase中,并在整个应用程序中访问用户对象.

我以前用ember做了一段时间,但我不确定如何使用新的torii提供程序.

我想我应该测试用户是否已经在初始化函数中存储在firebase中,然后将用户注入控制器/路由.

任何帮助我指向正确方向的帮助都会有所帮助,或者是一些示例代码.

谢谢

ember.js firebase torii firebase-authentication

2
推荐指数
1
解决办法
1004
查看次数