LoopBack makes it easy to build modern applications that require complex integrations.
Go to file
Miroslav Bajtoš c5ca2e1c2e
Implement more secure password flow
Improve the flow for setting/changing/resetting User password to make
it more secure.

 1. Modify `User.resetPassword` to create a token scoped to allow
    invocation of a single remote method: `User.setPassword`.

 2. Scope the method `User.setPassword` so that regular tokens created
    by `User.login` are not allowed to execute it.

For backwards compatibility, this new mode (flow) is enabled only
when User model setting `restrictResetPasswordTokenScope` is set to
`true`.

 3. Changing the password via `User.prototype.patchAttributes`
    (and similar DAO methods) is no longer allowed. Applications
    must call `User.changePassword` and ask the user to provide
    the current (old) password.

For backwards compatibility, this new mode (flow) is enabled only
when User model setting `rejectPasswordChangesViaPatchOrReplace` is set
to `true`.
2017-04-20 10:22:21 +02:00
.github Update ISSUE_TEMPLATE.md 2017-02-14 10:17:43 -08:00
common/models Implement more secure password flow 2017-04-20 10:22:21 +02:00
docs updated LB module diagram 2014-07-25 21:19:13 -07:00
example Upgrade eslint config and grunt-eslint to latest 2016-12-06 16:05:13 +01:00
intl Update translation files 2016-11-25 16:01:46 -05:00
lib Add support for scoped access tokens 2017-04-07 13:04:40 +02:00
server/middleware Fix user-literal rewrite for anonymous requests 2017-04-04 16:30:08 +02:00
templates Add password reset 2013-11-20 14:20:47 -08:00
test Implement more secure password flow 2017-04-20 10:22:21 +02:00
.eslintignore Use eslint with loopback config 2016-04-06 10:45:30 +02:00
.eslintrc Enable ES6/ES2015 goodness 2017-01-27 11:31:57 +01:00
.gitignore Pass options.verificationToken to templateFn 2017-03-06 17:08:35 +01:00
.nycrc Add nyc coverage, report data to coveralls.io 2017-01-31 14:09:02 +01:00
.travis.yml Run the latest Node.js 7 version on Travis again 2017-03-15 10:22:12 +01:00
CHANGES.md 3.6.0 2017-03-31 16:09:09 +02:00
CONTRIBUTING.md Update URLs in CONTRIBUTING.md (#2503) 2016-07-13 17:45:00 -07:00
Gruntfile.js Use English when running Mocha tests 2017-01-26 10:11:08 +01:00
LICENSE relicense as MIT only 2016-05-03 15:49:10 -07:00
README.md README: add a link to our announcements list 2017-03-09 09:23:11 +01:00
docs.json Update docs.json 2017-01-12 14:25:38 -08:00
favicon.ico Upgrade to Express 4.x 2014-05-29 08:44:05 -07:00
index.js Enable ES6/ES2015 goodness 2017-01-27 11:31:57 +01:00
package.json update deprecated dependencies 2017-04-07 15:09:31 -04:00

README.md

LoopBack

Gitter

LoopBack is a highly-extensible, open-source Node.js framework that enables you to:

  • Create dynamic end-to-end REST APIs with little or no coding.
  • Access data from Oracle, MySQL, PostgreSQL, MS SQL Server, MongoDB, SOAP and other REST APIs.
  • Incorporate model relationships and access controls for complex APIs.
  • Use built-in push, geolocation, and file services for mobile apps.
  • Easily create client apps using Android, iOS, and JavaScript SDKs.
  • Run your application on-premises or in the cloud.

LoopBack consists of:

  • A library of Node.js modules.
  • Yeoman generators for scaffolding applications.
  • Client SDKs for iOS, Android, and web clients.

LoopBack tools include:

  • Command-line tool loopback-cli to create applications, models, data sources, and so on.

For more details, see http://loopback.io/.

Supported versions

Current Long Term Support
3.x 2.x

Learn more about our LTS plan in docs.

LoopBack modules

The LoopBack framework is a set of Node.js modules that you can use independently or together.

LoopBack modules

Core

Connectors

Enterprise Connectors

Community Connectors

The LoopBack community has created and supports a number of additional connectors. See Community connectors for details.

Components

Client SDKs

Tools

Examples

StrongLoop provides a number of example applications that illustrate various key LoopBack features. In some cases, they have accompanying step-by-step instructions (tutorials).

See loopback-example for details.

Resources

Contributing

Contributions to the LoopBack project are welcome! See Contributing to LoopBack for more information.

Reporting issues

One of the easiest ways to contribute to LoopBack is to report an issue. See Reporting issues for more information.

Analytics