내가 발생 된 문제는 당신이 정보를 액세스하지 않습니다 토리의 기본 구글-으로 OAuth2 제공 업체는 또한 대신 구글 + API
에 필요한 토큰 워크 플로우의 코드 워크 플로우를 사용하여 주셔서 감사합니다
이 문제를 해결하기 위해 jQuery GET 요청을 G + API에 사용하는 맞춤형 제공 업체를 작성한 후 userName과 userEmail을 반환하여 콘텐츠 아래 세션에 액세스했습니다.
내가 구글이 완료 시작 사용하여 타다 남은 응용 프로그램을 승인 자세히 설명하는 전체 튜토리얼을 썼다
here
//app/torii-providers/google-token.js
import {configurable} from 'torii/configuration';
import Oauth2Bearer from 'torii/providers/oauth2-bearer';
var GoogleToken = Oauth2Bearer.extend({
name: 'google-token',
baseUrl: 'https://accounts.google.com/o/oauth2/auth',
// additional params that this provider requires
requiredUrlParams: ['state'],
optionalUrlParams: ['scope', 'request_visible_actions', 'access_type'],
requestVisibleActions: configurable('requestVisibleActions', ''),
accessType: configurable('accessType', ''),
responseParams: ['token'],
scope: configurable('scope', 'email'),
state: configurable('state', 'STATE'),
redirectUri: configurable('redirectUri',
'http://localhost:8000/oauth2callback'),
open: function(){
var name = this.get('name'),
url = this.buildUrl(),
redirectUri = this.get('redirectUri'),
responseParams = this.get('responseParams');
var client_id = this.get('client_id');
return this.get('popup').open(url, responseParams).then(function(authData){
var missingResponseParams = [];
responseParams.forEach(function(param){
if (authData[param] === undefined) {
missingResponseParams.push(param);
}
});
if (missingResponseParams.length){
throw "The response from the provider is missing " +
"these required response params: " + responseParams.join(', ');
}
return $.get("https://www.googleapis.com/plus/v1/people/me", {access_token: authData.token}).then(function(user){
return {
userName: user.displayName,
userEmail: user.emails[0].value,
provider: name,
redirectUri: redirectUri
};
});
});
}
});
export default GoogleToken;
실제 문제가 무엇인지 확실하지. 위의 코드는 토리 공급자입니까? Google로부터 사용자 정보를 얻을 수 없다는 것은 무엇을 의미합니까? – marcoow
난 그냥 구글 (이름, 성, 이메일 등)에서 사용자 계정 정보를 표시 할 수 있기를 원한다. 위의 도리 어댑터이지만 지금은 내가 필요하다고 생각하지 않습니다. 토리 (Torii)는 세션 정보 (이 기능은 기본적으로 사용하지 않도록 설정되어 있음)에이 정보를 제공하고 Ember Simple Auth에 사용자 정보가 표시되지 않는 자체 권한을 가지고 있다고 말합니다. – Frozenfire
Ember Simple Auth는 세션을 정의하며 Ember Simple Auth 도리 오 인증기를 사용하면 도리 공급자가 해결하는 모든 내용이 세션을 통해 사용 가능하게됩니다. – marcoow