0

私は github に接続する ember アプリを持っていますが、認証フローはアクセス トークンではなく認証コードを返します。交換の方法がよくわかりません...まあ、少なくとも例は見つかりませんでしたインターネット上で。

私は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;
  }
});

プロバイダーで何かを変更する必要があるかもしれないことはわかっていますが、どこから始めればよいかわかりません

4

1 に答える 1

3

Torii を使用して GitHub 認証を自分で行いました。これが私のアドバイスです:

  1. ember-simple-auth を削除し、Torii を直接使用します。皮肉なことに、ember-simple-auth の Torii ラッパーは「単純」ではありません。
  2. ライブラリに慣れるために、Torii のドキュメントに目を通す必要があります。
  3. config/environment.jsで、鳥居を設定します。例:

    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()、およびの 3 つのメソッドを実装する必要があります.close()authorizationCodeのパラメーターとしてを受け取ることに注意してください.open()。これは、(認証バックエンドと) アクセス トークンと交換する必要があります。

  5. ああ、クライアントの秘密を非公開にする OAuth バックエンドが必要です。Ember アプリから OAuth バックエンドに認証コードを送信すると、OAuth バックエンドはアクセス トークンで応答します。

上記のいずれにも当てはまらない場合は、OAuth の概要がまとめられているこのブログ投稿を参照してください。詳細を簡単に入力できるように、全体像を理解する必要があります。:)

于 2016-08-04T13:47:20.223 に答える