Re: fun with Capper and OFX financial transaction fetching

Dan Connolly <[email protected]> Mon, 4 Jan 2016 00:01:15 -0600
Newsgroups gmane.comp.capabilities.general
Message-ID <CAD2YivZ24UWJ54dXLS6+k+zi9ZBWguprkZoXFtgDpBDk-9rCmQ@mail.gmail.com>
On Sat, Jan 2, 2016 at 5:39 PM, Dan Connolly <[email protected]> wrote:
> https://bitbucket.org/DanC/finquick/src/capper/take2js/README.md
>
> Now I'd like to figure out an alternative to this step in my docs:
>
>   WARNING: This will store your credentials in clear-text in capper.db.

I found a solution that works at my desktop:

70   ef458f26c63e   2016-01-03 21:56 -0600   http://www
  use freedesktop secret store to avoid cleartext OFX passwords in capper.db

I'm still thinking about how and whether I want to deploy in sandstorm...

Meanwhile, I'm reasonably happy with the access graph now:

excerpt from README:


## Fetch 60 days of transactions

### Create an OFX institution object

For `discover` or `amex`:

    $ discover=@`node --harmony server -make ofxies.makeInstitution
discover | tail -1`

The resulting `$discover` should be a webkey a la
`@https://localhost:1341/ocaps/#s=Yslejls...`.

### Put your OFX account credentials in the freedesktop secret store

The credit card number, username, and password are combined into one
secret, separated by spaces; `protocol` and `object` attributes are
used for lookup:

    $ echo 601.... con... sekret | secret-tool store --label='My
Discover' protocol OFX object disc1

Then make a webkey for the freedesktop secret store:

    $ store=@`node --harmony server -make ofxies.makeKeyStore | tail -1`

And make another for access to just the relevant entry:

    $ key=@`node --harmony server -make ofxies.makePassKey $store
protocol OFX object 8146 | tail -1`


### Create an account object

Now we're ready to make a webkey for the account:

    $ disc1=@`node --harmony server -make ofxies.makeAccount $discover
$key | tail -1`
    finquick/take2js/Capper$ echo $disc1
@https://localhost:1341/ocaps/#s=abc123...

### Fetch

Access the webkey from above and hit **Fetch**; after a few seconds, a
table your transactions going back 60 days should appear.

-- 
Dan Connolly
http://www.madmode.com/