2016-08-04 3 views
0

У меня есть приложение ember, которое соединяется с github, но поток аутентификации возвращает код авторизации , а не токен доступа, и я действительно не знаю, как сделать обмен. . По крайней мере, я не нашел примеров в Интернете.torii получает код авторизации вместо токена доступа

Я своего рода новичок в уголек, это то, что я до сих пор

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

Я знаю, что, возможно, придется изменить что-то в поставщике , но я не знаю, с чего начать

ответ

3

У меня есть использовал Torii для самостоятельной работы с GitHub. Вот мой совет:

  1. Drop ember-simple-auth и просто используйте Torii напрямую. Как ни странно, обтекатель Torii от ember-simple-auth не является «простым».
  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(), который вы должны обменять (с вашим сервером auth) для токена доступа.

  5. О, и вам понадобится бэкэнд OAuth, который будет держать вашего клиента в тайне. Вы отправляете код авторизации из своего приложения Ember на ваш сервер OAuth, а бэкенд OAuth отвечает токеном доступа.

Если ничего из этого не имело для вас значения, ознакомьтесь с this blog post, в котором есть хорошее резюме OAuth. Вы должны понимать общую картину, чтобы легко заполнить детали. :)

+0

Прохладный, я попробую! Большое спасибо, Jason –

+0

https://madhatted.com/2014/06/17/authentication-for-single-page-apps новая ссылка для блога – outsmartin

Смежные вопросы