Skip to content

Commit 67c7670

Browse files
author
Francis Lessard
committed
Merge remote-tracking branch 'ParsePlatform/master' into user-roles
2 parents 176f1b9 + 57e94dc commit 67c7670

31 files changed

+1735
-178
lines changed

CHANGELOG.md

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,28 @@
11
## Parse Server Changelog
22

3+
### 2.1.0 (2/17/2016)
4+
5+
* Feature: Support for additional OAuth providers
6+
* Feature: Ability to implement custom OAuth providers
7+
* Feature: Support for deleting Parse Files
8+
* Feature: Allow querying roles
9+
* Feature: Support for logs, extensible via Log Adapter
10+
* Feature: New Push Adapter for sending push notifications through OneSignal
11+
* Feature: Tighter default security for Users
12+
* Feature: Pass parameters to Cloud Code in query string
13+
* Feature: Disable anonymous users via configuration.
14+
* Experimental: Schemas API support for PUT operations
15+
* Fix: Prevent installation ID from being added to User
16+
* Fix: Becoming a user works properly with sessions
17+
* Fix: Including multiple object when some object are unavailable will get all the objects that are available
18+
* Fix: Invalid URL for Parse Files
19+
* Fix: Making a query without a limit now returns 100 results
20+
* Fix: Expose installation id in cloud code
21+
* Fix: Correct username for Anonymous users
22+
* Fix: Session token issue after fetching user
23+
* Fix: Issues during install process
24+
* Fix: Issue with Unity SDK sending _noBody
25+
326
### 2.0.8 (2/11/2016)
427

528
* Add: support for Android and iOS push notifications

CONTRIBUTING.md

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,4 @@ We really want Parse to be yours, to see it grow and thrive in the open source c
1212

1313
##### Code of Conduct
1414

15-
This project adheres to the [Open Code of Conduct][code-of-conduct]. By participating, you are expected to honor this code.
16-
[code-of-conduct]: http://todogroup.org/opencodeofconduct/#Parse Server/[email protected]
17-
18-
15+
This project adheres to the [Open Code of Conduct](http://todogroup.org/opencodeofconduct/#Parse Server/[email protected]). By participating, you are expected to honor this code.

README.md

Lines changed: 82 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,36 @@
1-
## parse-server
1+
<img src="http://parse.com/assets/svgs/parse-infinity.svg" alt="Parse logo" height="70"/>
2+
3+
## Parse Server
24

35
[![Build Status](https://img.shields.io/travis/ParsePlatform/parse-server/master.svg?style=flat)](https://travis-ci.org/ParsePlatform/parse-server)
46
[![Coverage Status](https://img.shields.io/codecov/c/github/ParsePlatform/parse-server/master.svg)](https://codecov.io/github/ParsePlatform/parse-server?branch=master)
57
[![npm version](https://img.shields.io/npm/v/parse-server.svg?style=flat)](https://www.npmjs.com/package/parse-server)
68

7-
A Parse.com API compatible router package for Express
9+
Parse Server is an open source version of the Parse backend that can be deployed to any infrastructure that can run Node.js.
10+
11+
Parse Server works with the Express web application framework. It can be added to existing web applications, or run by itself.
812

913
Read the announcement blog post here: http://blog.parse.com/announcements/introducing-parse-server-and-the-database-migration-tool/
1014

11-
Read the migration guide here: https://parse.com/docs/server/guide#migrating
15+
## Documentation
16+
17+
Documentation for Parse Server is available in the [wiki](https://github.com/ParsePlatform/parse-server/wiki) for this repository. The [Parse Server guide](https://github.com/ParsePlatform/parse-server/wiki/Parse-Server-Guide) is a good place to get started.
18+
19+
If you're interested in developing for Parse Server, the [Development guide](https://github.com/ParsePlatform/parse-server/wiki/Development-Guide) will help you get set up.
20+
21+
### Example Project
22+
23+
Check out the [parse-server-example project](https://github.com/ParsePlatform/parse-server-example) repository for an example of a Node.js application that uses the parse-server module on Express.
24+
25+
### Migration Guide
26+
27+
Migrate your existing Parse apps to your own Parse Server. The hosted version of Parse will be fully retired on January 28th, 2017. If you are planning to migrate an app, you need to begin work as soon as possible. Learn more in the [Migration guide](https://github.com/ParsePlatform/parse-server/wiki/Migrating-an-Existing-Parse-App).
1228

13-
There is a development wiki here on GitHub: https://github.com/ParsePlatform/parse-server/wiki
1429

15-
We also have an [example project](https://github.com/ParsePlatform/parse-server-example) using the parse-server module on Express.
1630

1731
---
1832

33+
1934
#### Basic options:
2035

2136
* databaseURI (required) - The connection string for your database, i.e. `mongodb://user:[email protected]/dbname`
@@ -36,12 +51,67 @@ The client keys used with Parse are no longer necessary with parse-server. If y
3651
* restAPIKey
3752
* dotNetKey
3853

54+
#### OAuth Support
55+
56+
parse-server supports 3rd party authentication with
57+
58+
* Twitter
59+
* Meetup
60+
* Linkedin
61+
* Google
62+
* Instagram
63+
* Facebook
64+
65+
66+
Configuration options for these 3rd-party modules is done with the oauth option passed to ParseServer:
67+
68+
```
69+
{
70+
oauth: {
71+
twitter: {
72+
consumer_key: "", // REQUIRED
73+
consumer_secret: "" // REQUIRED
74+
},
75+
facebook: {
76+
appIds: "FACEBOOK APP ID"
77+
}
78+
}
79+
80+
}
81+
```
82+
83+
#### Custom Authentication
84+
85+
It is possible to leverage the OAuth support with any 3rd party authentication that you bring in.
86+
87+
```
88+
{
89+
90+
oauth: {
91+
my_custom_auth: {
92+
module: "PATH_TO_MODULE" // OR object,
93+
option1: "",
94+
option2: "",
95+
}
96+
}
97+
}
98+
```
99+
100+
On this module, you need to implement and export those two functions `validateAuthData(authData, options) {} ` and `validateAppId(appIds, authData) {}`.
101+
102+
For more informations about custom auth please see the examples:
103+
104+
- [facebook OAuth](https://github.com/ParsePlatform/parse-server/blob/master/src/oauth/facebook.js)
105+
- [twitter OAuth](https://github.com/ParsePlatform/parse-server/blob/master/src/oauth/twitter.js)
106+
- [instagram OAuth](https://github.com/ParsePlatform/parse-server/blob/master/src/oauth/instagram.js)
107+
108+
39109
#### Advanced options:
40110

41111
* filesAdapter - The default behavior (GridStore) can be changed by creating an adapter class (see [`FilesAdapter.js`](https://github.com/ParsePlatform/parse-server/blob/master/src/Adapters/Files/FilesAdapter.js))
42112
* databaseAdapter (unfinished) - The backing store can be changed by creating an adapter class (see `DatabaseAdapter.js`)
43113
* loggerAdapter - The default behavior/transport (File) can be changed by creating an adapter class (see [`LoggerAdapter.js`](https://github.com/ParsePlatform/parse-server/blob/master/src/Adapters/Logger/LoggerAdapter.js))
44-
114+
* enableAnonymousUsers - Defaults to true. Set to false to disable anonymous users.
45115
---
46116

47117
### Usage
@@ -86,12 +156,12 @@ app.listen(port, function() {
86156

87157
You can configure the Parse Server with environment variables:
88158

89-
```js
159+
```js
90160
PARSE_SERVER_DATABASE_URI
91161
PARSE_SERVER_CLOUD_CODE_MAIN
92162
PARSE_SERVER_COLLECTION_PREFIX
93163
PARSE_SERVER_APPLICATION_ID // required
94-
PARSE_SERVER_CLIENT_KEY
164+
PARSE_SERVER_CLIENT_KEY
95165
PARSE_SERVER_REST_API_KEY
96166
PARSE_SERVER_DOTNET_KEY
97167
PARSE_SERVER_JAVASCRIPT_KEY
@@ -137,3 +207,7 @@ You can also set up an app on Parse, providing the connection string for your mo
137207
### Not supported
138208

139209
* `Parse.User.current()` or `Parse.Cloud.useMasterKey()` in cloud code. Instead of `Parse.User.current()` use `request.user` and instead of `Parse.Cloud.useMasterKey()` pass `useMasterKey: true` to each query. To make queries and writes as a specific user within Cloud Code, you need the user's session token, which is available in `request.user.getSessionToken()`.
210+
211+
## Contributing
212+
213+
We really want Parse to be yours, to see it grow and thrive in the open source community. Please see the [Contributing to Parse Server guide](CONTRIBUTING.md).

bin/parse-server

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#!/usr/bin/env node
22
var express = require('express');
3-
var ParseServer = require("../src/index").ParseServer;
3+
var ParseServer = require("../lib/index").ParseServer;
44

55
var app = express();
66

@@ -30,6 +30,11 @@ if (process.env.PARSE_SERVER_OPTIONS) {
3030
facebookAppIds = facebookAppIds.split(",");
3131
options.facebookAppIds = facebookAppIds;
3232
}
33+
34+
var oauth = process.env.PARSE_SERVER_OAUTH_PROVIDERS;
35+
if (oauth) {
36+
options.oauth = JSON.parse(oauth);
37+
};
3338
}
3439

3540
var mountPath = process.env.PARSE_SERVER_MOUNT_PATH || "/";

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "parse-server",
3-
"version": "2.0.8",
3+
"version": "2.1.0",
44
"description": "An express module providing a Parse-compatible API server",
55
"main": "lib/index.js",
66
"repository": {

0 commit comments

Comments
 (0)