landakram / plaid-cli

A CLI tool for working with the Plaid API. Link accounts and pull transactions from the command line.
MIT License
39 stars 11 forks source link

Plaid API public_key is deprecated #1

Closed jdormit closed 3 years ago

jdormit commented 3 years ago

Hi! This looks like a really cool project, and I was hoping to use it to help me bridge my bank accounts with Ledger. But I hit a snag: according to the Plaid docs, the public_key parameter is deprecated and is no longer the supported way to connect a client to Plaid:

image

In fact, there's no way to obtain a public_key from the Plaid dashboard anymore. Is this something that's on your radar? I can take a shot at updating plaid-cli to support the new authentication flow, but it would take me a while since I'm unfamiliar with the codebase and I don't want to duplicate effort if this is something you are already working on.

Thanks for this cool project!

landakram commented 3 years ago

Thanks for reaching out 🙂 love the idea of using this to bridge with ledger. I've had the same thought for a while now, but YNAB has worked well for me so the cost of switching was high. I'd actually be super down to work on it together!

I didn't realize that public_key was deprecated — thanks for pointing that out. I'm happy to take a look, but I most likely won't get to it until next week at the earliest.

If you want to take a shot at it, here's some rough triaging:

It looks like we'd basically need to upgrade the dependency on plaid-go as the latest version doesn't use the public key. You can see where we pass in the public key here: https://github.com/landakram/plaid-cli/blob/master/main.go#L72

Then we'd need to change the Linker to request a plaid link_token with plaid-go's CreateLinkToken and pass it to the HTML template. The Linker gets passed an instance of the plaid-go client and handles all of the linking logic (including serving a page in the web browser). Right now, PublicKey gets passed to these templates (see linkTemplate and relinkTemplate). According to the migration guide, link_token replaces some things in the relink flow as well, so some changes would be needed there.

Sorry that there are no tests 😬 if you do end up looking at it this week, please post any other questions!

jdormit commented 3 years ago

I gave it a shot! https://github.com/landakram/plaid-cli/pull/2

landakram commented 3 years ago

Released in v0.0.6. Thank you again for the contributions!