Martin Fink
2 min readMar 19, 2021

--

Hi Maksim -

I just "finished" the dart OAuth2 server. The last step was getting Refresh tokens on behalf of the client. I do plan on publishing this as a learning project to document both the OAuth2 flow as well as some Dart stuff (isolates, websockets, etc).

Before I can put this on a public repo, I need to write some documentation on the OAuth2 flow I used (things like Id Tokens and not access tokens) as well as just how the code works. I'll also need to clean up (or take out) things like private keys, SSL keys, etc. etc.

If you need/want something sooner, I can setup a private repo and you can take a look at current state (tell me all the bad things I did :)).

Here's what you'd get:

A Flutter client repo that is null safe, runs on iOS, Android, Mac, Windows, Linux (not web). It's localized in 4 languages (I do this to discipline myself to keep text strings out of code and test right-to-left stuff). It uses GetX for state management and a few other features (like snackbars). I don't have tests done yet on the client.

A Dart server repo only tested to run on my Mac. You'll need to setup MongoDB to use it. It's not null safe as the MongoDB plug in is not yet null safe. It does API routing, authentication routing, and web routing. It also has a WebSocket server. There's also a number of tests done for the Dart server.

The combination will authenticate on one of: Google, Gitbub, Facebook, or Apple.

But, no real documentation (aside from commenting).

If you want to wait until it's all done and documented, no issues. If you want an early look and (hopefully) give me feedback on the code (more eyeballs is always better), then let me know your github ID and I'll create a temporary private repo for you.

--

--

Martin Fink
Martin Fink

Responses (1)