torii获取授权代码而不是访问令牌

时间:2016-08-04 12:20:21

标签: ember.js torii

我有一个与github连接的ember应用程序,但是身份验证流程返回授权代码,而不是访问令牌,我真的不知道如何进行交换... ,至少我没有在互联网上找到任何例子。

我有点陌生,这是我到目前为止所得到的

authenticator/torii.js

import Ember from 'ember';
import ToriiAuthenticator from 'ember-simple-auth/authenticators/torii';

export default ToriiAuthenticator.extend({
  torii: Ember.inject.service()
});

torii-providers/github.js

import GithubOauth2Provider from 'torii/providers/github-oauth2';

export default GithubOauth2Provider.extend({
  fetch(data) {
    return data;
  }
});

我知道我可能不得不改变提供者的内容,但我真的不知道从哪里开始

1 个答案:

答案 0 :(得分:3)

我已经使用Torii自己做GitHub认证。以下是我的建议:

  1. 删除ember-simple-auth并直接使用Torii。具有讽刺意味的是,ember-simple-auth的Torii包装并不简单"。
  2. 您应该通过Torii's docs熟悉图书馆。
  3. config/environment.js中,配置Torii。例如:

    torii: {
      sessionServiceName: 'session',
      providers: {
        'github-oauth2': {
           // your api key goes here
           apiKey: '',
    
           // link to your app goes here
           // in development mode, it should be http://localhost:4200
           redirectUri: '',
    
           // specify OAuth scope here
           scope: ''
        }
      }
    }
    
  4. 创建名为torii-adapters/application.js的文件。在这里,您需要实现三种方法.open().fetch().close()。请注意,您将收到authorizationCode作为.open()的参数,您应该与您的身份验证后端交换访问令牌。

  5. 哦,你需要一个OAuth后端,让你的客户保密。您将授权代码从Ember应用程序发送到OAuth后端,OAuth后端以访问令牌进行响应。
  6. 如果对您没有任何意义,请查看this blog post,其中包含OAuth的摘要。你应该了解大局,以便轻松填写细节。 :)