A simple node module for decrypting the oauth payload for The City iframe plugins.


NPM module for decrypting oauth data for The City iframe plugins.


npm install thecity-plugin


Require the module, and then initialize an instance of TheCityPlugin with your app's oauth secret:

var TheCityPlugin = require('thecity-plugin');
var thecity_plugin = new TheCityPlugin(CITY_APP_SECRET);

Then in your server, setup a POST route for The City to post the encrypted data to:

var express = require('express');
var app = express();
app.use(express.bodyParser());'/iframe', function(reqres){
  thecity_plugin.decrypt_city_data(req.body.city_data, req.body.city_data_iv, function(errcity_oauth_data) {
    if (!err) {
      var oauth_token = city_oauth_data.oauth_token
      var user_id = city_oauth_data.user_id
      var account_id = city_oauth_data.account_id
      var subdomain = city_oauth_data.subdomain
      // ... 
      res.send('Decrypted The City oauth data!');