Tag: loopbackjs

在LoopbackJS中:如何在启动脚本或服务器端代码中获取服务器协议(http或https)?

在服务器端的JS文件,说send-email.js ,我想创build一个超链接发送电子邮件 var config = require('../../server/config.json'); function sendEmail() { var url = config.protocol + '://' + config.host + ':' + config.port + '/login'; //code to send e-mail follows… } 我有config.json文件中configuration的协议,主机和端口,并使用我能够成功地创build超链接。 我也使用LoopbackJS的启动脚本 ,其中app参数如下所示传递: module.exports = function (app, cb) { var url = 'http://' + app.get('host') + ':' + app.get('port') + '/login'; } 我可以得到主机和端口,但不是协议。 现在有两种方法可以获得主机和端口: 使用config.json文件 使用app.get方法 […]

社交loginauthentication通过loopback护照

我开始获得loopback api理由。 目前我正在尝试通过社交login为我的应用程序集成身份validation。 我已经find了三个页面,说明如何适应这一点,但它们都显示了一点点不同和不清楚: github-loopback-component-passport & npmjs-loopback-component-passport & github-loopback-component-passport-example 。 我有点困惑,什么是最新的过程。 任何人都可以阐明如何最好地将社交login与环回结合? 另外,如何testing可能需要访问令牌的路由? 这是项目的Github Repo 。 目前的依赖关系 "dependencies": { "compression": "^1.0.3", "cors": "^2.5.2", "lodash": "^3.10.1", "loopback": "^2.26.2", "loopback-boot": "^2.6.5", "loopback-component-explorer": "^2.1.0", "loopback-connector-mysql": "^2.2.0", "loopback-datasource-juggler": "^2.19.0", "loopback-stormpath": "0.0.1", "serve-favicon": "^2.0.1", "passport": "^0.3.2", "underscore": "^1.8.2" }

RoleMapping.USER或RoleMapping.ROLE&ACL

我正在使用回环框架 。 我不清楚什么时候将RoleMapping与静态angular色和ACL一起使用,在阅读这里和这里的文档之后。 我有一个启动脚本,在我的应用程序中插入一些主要的静态angular色(pipe理员,批准者,validation者等),并在ACL中使用这些angular色。 在我看来,当我声明用户angular色,我必须使用RoleMapping.USER : const approver = yield app.models.User.create({ email: 'approver@lorem.com', password: 'secret-apprpver-123', status: 'active', emailVerified: true }); const roleApprover = yield app.models.Role.findOne({ where: {name: 'approver'} }); yield app.models.RoleMapping.create({ principalId: approver.id, principalType: app.models.RoleMapping.USER, roleId: roleApprover.id }); 而在ACL中,我必须使用RoleMapping.ROLE : { "principalType": "ROLE", "accessType": "EXECUTE", "principalId": "approver", "permission": "ALLOW", "property": "setApprove" } 但是不是很清楚,每次我都要去debugging它,每次我都要pipe理新的angular色或新的ACL时,会有一些黑暗的魔法和祈祷。 有没有人可以解释我该怎么做?

Strongloop错误:无法find模块“选项”

我想在远程Linux服务器上部署我的应用程序。 我正在使用loopback,我想跟随文档中的instruncions。 我build立一个应用程序使用弧,启动远程主机上的进程pipe理器,并部署使用slc部署http://my.host 。 部署成功,但进程pipe理器开始抛出这个错误: module.js:340 throw err; ^ Error: Cannot find module 'options' at Function.Module._resolveFilename (module.js:338:15) at Function.Module._load (module.js:280:25) at Module.require (module.js:364:17) at require (module.js:380:17) at Object.<anonymous> (/home/arthdesigns/.strong-pm/svc/2/work/d3a01b1e3e31ee5561e69ef7aa072531cc581fc2.1454877049098/node_modules/sse/lib/sse.js:1:77) at Module._compile (module.js:456:26) at Object.Module._extensions..js (module.js:474:10) at Module.load (module.js:356:32) at Function.Module._load (module.js:312:12) at Module.require (module.js:364:17) 它的奇怪,因为在我的工作空间一切正常。 有人知道解决scheme

环回mmsql聚合,groupby

我在nodejs中使用Loopback mssql连接器 问题:有无论如何得到聚合,计数函数可用在回环ORM而不是sql原始查询?

在strongLoop中控制对模型的访问的最佳解决scheme

我是StrongLoop的新手。 我有2个模型( CustomUser和Item )。 我想要任何CustomUser有权访问他的Items 。 我不希望使用StrongLoop公开的默认API,因为我不希望CustomUsers能够使用这些API定义filter。 我定义了基于内部filter返回项目的RemoteMethod。 我的问题:我应该检查当前的用户,并返回他的相关项目,或者我可以使用ACL在StrongLoop这个事情? 如果ACL是正确的答案,我应该在哪里插入我的RemoteMethod( CustomUser模型或Item模型),以及如何定义使用ACL的正确设置?

使用包含filterjoin两个回送模型

我有两个模型购买和产品,和productId是共同的两个。 我需要从purchaseId的产品模型中findproductDetails。 所以我在Purchase模型中创build了一个名为getProductDetails的自定义端点。 这是我试图查询模型。 Purchase.find({ "filter": { include: { relation: 'Product', scope: { fields: ['productDesc'], } } }, where:{ id:purchaseId }, 我的关系是Purchase belongsTo Product,foreignKey是productId 产品有许多购买 但是,即使我做了上述查询,我​​没有得到查询结果productDesc 我的模型关系错了吗?

Strongloop Passport.js身份validation – “无法获取访问令牌”

我试图编写一个Express / Passport应用程序,用Github Enterprise服务器进行身份validation。 这需要手动编辑护照的github策略,以指向私有企业API端点。 没有biggie那里。 我正在使用Strongloop来构build应用程序,所以我正在使用strongloop-passport-component集成。 据我可以告诉应用程序configuration正确,但在redirect,我得到以下错误信息: Loopback 500 InternalOAuthError:在/ Users处,无法获取Strategy.OAuth2Strategy._createOAuthError(/ Users / Tom /桌面/音乐/节点/模块/ passport- /Tom/Desktop/soundoff/node_modules/passport-github/node_modules/passport-oauth2/lib/strategy.js:166:45 at /Users/Tom/Desktop/soundoff/node_modules/passport-github/lib/strategy.js: 75:25在ClientRequest的/Users/Tom/Desktop/soundoff/node_modules/passport-github/node_modules/passport-oauth2/node_modules/oauth/lib/oauth2.js:177:18。 (/Users/Tom/Desktop/soundoff/node_modules/passport-github/node_modules/passport-oauth2/node_modules/oauth/lib/oauth2.js:148:5)在ClientRequest的emitOne(events.js:90:13)。在TLSSocket.emit(events.js:182:7)上的emitOne(events.js:90:13)处的TLSSocket.socketErrorListener(_http_client.js:262:9)处发射(events.js:182:7) 如果我看看github应用程序设置,我可以validation用户是否已成功通过应用程序进行身份validation。 它似乎无法将用户redirect到redirectURI。 aparrently它无法find访问令牌? 用户最终得到的URL是类似http://0.0.0.0:3000/auth/github/callback?code=dceef2ffe07b5dbfa194 – 但是,我期望他们最终在http://0.0.0.0:3000/auth/account 。 什么可能导致回环找不到访问令牌? 是不是在url?code= ?

JavaScript不在模型文件夹中执行文件

我已经使用strongloop生成了一个应用程序,并在user.js中添加了以下代码 // user.js console.log("came here"); module.exports = function(app) { console.log(app); }; 为什么我看不到任何控制台? 为什么运行服务器时这个文件不被包含?

脾气“““““““““““

我正在实现(没有很好的文档)的环回方法nestRemoting() ,如下所示: module.exports = function(MyModel) { MyModel.on('attached', function() { MyModel.nestRemoting('relationName'); }); } 但是,这似乎是非常有气质的。 有时候它可以工作,但是大部分时间我都可以得到: Relation `relationName` does not exist for model `MyModel` at ….stacktrace…. ….. 有谁知道为什么这个错误可能发生?