Hi all,
I’m pleased to release version v0.2.0 of Asteroid which brings OpenID Connect support.
It implements:
- OpenID Connect Core 1.0 incorporating errata set 1
- OpenID Connect Dynamic Client Registration 1.0 incorporating errata set 1
- OAuth 2.0 Multiple Response Type Encoding Practices
- OAuth 2.0 Form Post Response Mode
- OpenID Connect Discovery 1.0 incorporating errata set 1
It does not implement OpenID Connect logout yet.
Here are 2 videos of how it can look like:
OAuth2 flow:
OpenID Connect flow:
As a reminder, the authentication flow is still a do-it-yourslef thing.
Good news: the bug mentioned in the first post was swiftly fixed by the Erlang team, which means Asteroid will be releasable with the next OTP version.
Next steps:
- Consolidating the AttributeRepository implementations + Ecto / SQL implementation
- Create a project page as suggested by @victorolinasc
- Structured logging
- Authentication workflows: something similar to a form workflow (have been discussed here before) and that would be UI-independant (standard web, REST or LiveView) and some authentication modules (Social Login, MiniPOW, CAPTCHA, WebAuthn, and so on)
- More OAuth2 specifications support: token exchange, resource indicators, pushed request objects…
Anyone wanting to contribute is welcome! The OAuth2 & OpenID Connect ecosystem is super rich and full of specifications to implement, and I’d be glad to help if you wanna join. I have started filling some issues on Github, so if you’re looking for a project to contribute to or if you start with Elixir and want to practice feel free to pick one.
Cheers


















