An extension that connects to an OAuth 2 Server using passport-oauth2 and saves the access token to the user's extension attributes
You can preform a task via CLI
$ cd path/to/application/root
### Using the CLI
$ periodicjs ext periodicjs.ext.oauth2client hello
### Calling Manually
$ node index.js --cli --command --ext --name=periodicjs.ext.oauth2client --task=hello
You can configure periodicjs.ext.oauth2client
Add an array of OAUTH 2 services in your login extension's passport settings.
e.g. Login Extension content/config/extensions/periodicjs.ext.passport/settings.json
configuration:
{
"passport":{
"oauth":{
"facebook":{
"appid": "NEEDFBAPPID",
"appsecret": "NEEDFBAPPSECRET",
"callbackurl": "http://local.getperiodic.com:8786/auth/facebook/callback",
"scope":["email", "publish_actions", "offline_access", "user_status", "user_likes", "user_checkins", "user_about_me", "read_stream"]
},
"oauth2client":[{
"client_token_id": "a51f14a3dccf5a57b10947265f4bff14",
"client_secret": "547d3e64c1183b6a0d3fac5005c97f67",
"authorization_url":"https://my-oauth2-service.com/api/oauth2/authorize",
"token_url":"https://my-oauth2-service.com/api/oauth2/token",
"service_name":"my_oauth2_service",
"scope":["all-access"]
}]
}
}
}
{
settings: {
defaults: true,
},
databases: {
},
};
Install like any other extension, run npm run install periodicjs.ext.oauth2client
from your periodic application root directory and then normally you would run periodicjs addExtension periodicjs.ext.oauth2client
, but this extension does this in the post install npm script.
$ cd path/to/application/root
$ npm run install periodicjs.ext.oauth2client
$ periodicjs addExtension periodicjs.ext.oauth2client //this extension does this in the post install script
Run npm run uninstall periodicjs.ext.oauth2client
from your periodic application root directory and then normally you would run periodicjs removeExtension periodicjs.ext.oauth2client
but this extension handles this in the npm post uninstall script.
$ cd path/to/application/root
$ npm run uninstall periodicjs.ext.oauth2client
$ periodicjs removeExtension periodicjs.ext.oauth2client // this is handled in the npm postinstall script
Make sure you have grunt installed
$ npm install -g grunt-cli
Then run grunt test or npm test
$ grunt test && grunt coveralls #or locally $ npm test
For generating documentation
$ grunt doc
$ jsdoc2md commands/**/*.js config/**/*.js controllers/**/*.js transforms/**/*.js utilities/**/*.js index.js > doc/api.md
- Check out https://github.com/typesettin/periodicjs for the full Periodic Documentation