Then I showed you TRS feed reader which was using the same dwaOauth module. But it was very inconvenient to start reader and then manually authenticate with DWA. I would expect my server to connect to remote server itself and then just view the changes in the feed.
It's time to separate view from model and make them two separate applications.
Form authentication
With aid of superagent library one can perform form authentication with DWA and then use a agent to handle further TRS calls:
user1 = superagent.agent(); user1 .post('https://your.dwa.server:port/dwa/j_acegi_security_check') .type('form') .send({ j_username: 'doors_user', j_password: 'password'}) .end(function(err, res) { if (err != null) { console.log(err) user1 = null } else if (res.status != 200) { console.log(res.status) } else { console.log('user logged in to DWA') trs.TRSUpdate(user1, storeTRS); } })
Now user1 is authenticated and can be used to get data from DWA:
user1 .get('https://your.dwa.server:port/dwa/rm/trs/changelog') .set('Accept', 'text/turtle') .buffer(true) .end(function(err, res) { // use res.text for plain text response from DWA }
If you do not specify .buffer(true) res.text will be an empty string!
No comments:
Post a Comment
Note: only a member of this blog may post a comment.