I am developing my own app for customizing the behaviour of PODIO. I care very much about the security of my and my customers data. I therefore wrote the following test code:
var api_key = {
authType: 'password',
clientId: 'foo',
clientSecret: 'foo'
};
var podio_api = require('../node_modules/podio-js/lib/podio-js');
var podio = new podio_api (api_key);
var username = 'foo';
var password ='foo';
var callback = function (err, responsedata) {
if (err) throw (err);
console.log (responsedata);
};
podio.authenticateWithCredentials (username, password, callback);
It logs the following to the console:
{ access_token: 'foo',
expires_in: 28800,
token_type: 'bearer',
scope: 'global:all',
ref: { type: 'user', id: 999999 },
refresh_token: 'foo' }
So in other words it work perfectly (thank you!). But what about security. The following is stated on Podio´s homepage about API conventions and structure:
The API is available at https://api.podio.com. It is RESTful and uses json as the exchange format. SSL is mandatory and used for all communication. OAuth2 is used for authorization and authentication.
But as you can see from the code I did not provide it with any certificate from a certificate signing authority and the program is not running on the domain I have specified as the one for return URL´s under my Podio account settings. So it appears that anyone obtaining a copy of the access / refresh token could access all the data stored in my Podio account.
--> Does the Podio API grant any server in possession of a token access to a given Podio user account?
--> Is the transmission of the access / refresh token encrypted when using Podio JS?
Thank you in advance.