简单 ember-cli-simple-auth 和 oauth2 项目
Simple ember-cli-simple-auth and oauth2 project
我是第 3 方身份验证的新手,无法通过 ember-cli-simple-auth 插件与 simple-auth- 向 LinkedIn 发出 API 请求oauth2。我的 environment.js 在下面,我试图将 Simple Labs 的介绍 1 和 http://ember-simple-auth.com/ember-simple-auth-api-docs.html1 中的部分拼凑在一起,特别是在环境 === 'test' 的底部。构建 CLI 项目后我没有收到任何错误,但我确实在浏览器的控制台中收到一条通知(不是警告或错误),上面写着:
No authorizer was configured for Ember Simple Auth - specify one if backend requests need to be authorized.
现在,我正试图从 LinkedIn 取回一个授权令牌,但不确定下一步是什么。如果我尝试在我的登录控制器上触发 "authenticate" 操作(扩展 loginControllerMixin),我会在控制台中收到一条错误消息:
Uncaught Error: Assertion Failed: No authenticator for factory "authenticator:simple-auth-oauth2" could be found
我错过了什么部分?
Environment.js:
// config/environment.js
/* jshint node: true */
module.exports = function(environment) {
var ENV = {
modulePrefix: 'seminars-me',
environment: environment,
baseURL: '/',
locationType: 'auto',
EmberENV: {
FEATURES: {
// Here you can enable experimental features on an ember canary build
// e.g. 'with-controller': true
}
},
APP: {
// Here you can pass flags/options to your application instance
// when it is created
}
};
if (environment === 'development') {
// ENV.APP.LOG_RESOLVER = true;
// ENV.APP.LOG_ACTIVE_GENERATION = true;
// ENV.APP.LOG_TRANSITIONS = true;
// ENV.APP.LOG_TRANSITIONS_INTERNAL = true;
// ENV.APP.LOG_VIEW_LOOKUPS = true;
}
if (environment === 'test') {
// Testem prefers this...
ENV.baseURL = '/';
ENV.locationType = 'none';
// keep test console output quieter
ENV.APP.LOG_ACTIVE_GENERATION = false;
ENV.APP.LOG_VIEW_LOOKUPS = false;
ENV.APP.rootElement = '#ember-testing';
ENV['simple-auth-oauth2'] = {
serverTokenEndpoint: 'https://www.linkedin.com/uas/oauth2/authorization?response_type=code&client_id=757ll7ci1xd93u&scope=profile'
};
ENV['simple-auth'] = {
authorizer: 'simple-auth-authorizer:oauth2-bearer',
crossOriginWhitelist: ['https://www.linkedin.com'],
store: 'simple-auth-session-store:local-storage'
};
}
if (environment === 'production') {
}
return ENV;
};
当您使用 authenticator:simple-auth-oauth2
时,身份验证器实际上已注册为 simple-auth-authenticator:oauth2-password-grant
。
我是第 3 方身份验证的新手,无法通过 ember-cli-simple-auth 插件与 simple-auth- 向 LinkedIn 发出 API 请求oauth2。我的 environment.js 在下面,我试图将 Simple Labs 的介绍 1 和 http://ember-simple-auth.com/ember-simple-auth-api-docs.html1 中的部分拼凑在一起,特别是在环境 === 'test' 的底部。构建 CLI 项目后我没有收到任何错误,但我确实在浏览器的控制台中收到一条通知(不是警告或错误),上面写着:
No authorizer was configured for Ember Simple Auth - specify one if backend requests need to be authorized.
现在,我正试图从 LinkedIn 取回一个授权令牌,但不确定下一步是什么。如果我尝试在我的登录控制器上触发 "authenticate" 操作(扩展 loginControllerMixin),我会在控制台中收到一条错误消息:
Uncaught Error: Assertion Failed: No authenticator for factory "authenticator:simple-auth-oauth2" could be found
我错过了什么部分?
Environment.js:
// config/environment.js
/* jshint node: true */
module.exports = function(environment) {
var ENV = {
modulePrefix: 'seminars-me',
environment: environment,
baseURL: '/',
locationType: 'auto',
EmberENV: {
FEATURES: {
// Here you can enable experimental features on an ember canary build
// e.g. 'with-controller': true
}
},
APP: {
// Here you can pass flags/options to your application instance
// when it is created
}
};
if (environment === 'development') {
// ENV.APP.LOG_RESOLVER = true;
// ENV.APP.LOG_ACTIVE_GENERATION = true;
// ENV.APP.LOG_TRANSITIONS = true;
// ENV.APP.LOG_TRANSITIONS_INTERNAL = true;
// ENV.APP.LOG_VIEW_LOOKUPS = true;
}
if (environment === 'test') {
// Testem prefers this...
ENV.baseURL = '/';
ENV.locationType = 'none';
// keep test console output quieter
ENV.APP.LOG_ACTIVE_GENERATION = false;
ENV.APP.LOG_VIEW_LOOKUPS = false;
ENV.APP.rootElement = '#ember-testing';
ENV['simple-auth-oauth2'] = {
serverTokenEndpoint: 'https://www.linkedin.com/uas/oauth2/authorization?response_type=code&client_id=757ll7ci1xd93u&scope=profile'
};
ENV['simple-auth'] = {
authorizer: 'simple-auth-authorizer:oauth2-bearer',
crossOriginWhitelist: ['https://www.linkedin.com'],
store: 'simple-auth-session-store:local-storage'
};
}
if (environment === 'production') {
}
return ENV;
};
当您使用 authenticator:simple-auth-oauth2
时,身份验证器实际上已注册为 simple-auth-authenticator:oauth2-password-grant
。