pknoth

pknoth

Boruta - Yet an other OAuth 2.0 provider

Hi there!

I’ve been working on an OAuth provider for quite a time now. I published a package including the functional core and its corresponding Ecto/Cache adapters. Being quite new in the Elixir world, all feedbacks are welcome !

Boruta

The package is based on an hexagonal architecture, Application layer is still a work in progress.

I use the package for personal projects, the interface begins to be stable while I integrate it. If it looks good for you and want to integrate it do not hesitate to reach me out.

It was an happy journey developing the package as it was intended to have a use case in order to learn Elixir.

Most Liked

pknoth

pknoth

Hi again,

I just released the 2.0 stable version of Boruta, release candidate has been here for long enough to show the stability of the authorization API. There is still room for improvement for administration tools, they will come up along the way. It includes minor fixes and improved documentation like a how-to setup an authorization provider from scratch. Hoping it would help integrations. (Note that you have a few breaking changes to upgrade from release candidate listed in CHANGELOG)

For a reminder, the package is meant to implement OAuth 2.0 and OpenID Connect core 1.0 specifications in order to bring the core of an authorization server. One of the specificities of the implementation is that it is uncoupled with your user models using hexagonal architecture. Along with the core, you can generate basic Phoenix controllers, views, and templates to expose the specifications required endpoints. Have a look at hex.pm and at GitLab if you want to dig deeper, I would be happy to receive feedback.

Besides the package, I am working on a standalone version that would help to deploy an authorization provider instance easily. For that, it would include also an identity provider and an administration interface. I would be happy to have people involved in the decisions to take about the features to implement. The objective would be to define and shape the features you could be interested in, keeping in mind to target a lightweight open source IAM server. Do not hesitate to reach me if you wanna discuss it.

Thanks for reading me so far,
Cheers

10
Post #8
pknoth

pknoth

I finally got certified for the hybrid OpenID profile and released version 2.1.2 that fixes the hybrid specific error return encoding issue.

It is a huge step for the library, going on the way, I still have in mind to provide a standalone version. Hoping I can give you soon news about it, there is still a lot of work to be done.

Hope the best!

pknoth

pknoth

Hi there,

Version 2.1.0 finally got certified for the basic and implicit OpenID profiles :tada: . Hybrid profile is much more than advanced, I am discussing a specific point I could not understand well (returned errors encoding) and hope to have such a certification soon.

Elixir have now its own section in the listed OpenID provider libraries Certified OpenID Connect Implementations | OpenID. If anyone think descriptions or documentation can be improved to give a better visibility to the package, it would be very welcome.

Note that I also released 2.1.1 that fixed a dialyzer warning that was introduced in 2.1.0.

Thanks for the community that greatly helped it to be done.

Hope the best, happy coding!

pknoth

pknoth

Happy to announce the release of 2.0.0-rc.0 :slight_smile:

This release includes some improvements but mainly the support of OpenID Connect core 1.0 and provides generators in order to create basic controllers to expose the specification required endpoints. For now, the version looks to be stable, but still, I put it as a release candidate to see what comes out.

Notice that the package passes OpenID certification test suite. Since it is only indicative, I still need to submit an application which may be done any time in the future.

Have a look at boruta | Hex. As usual, all feedbacks are very welcome.

Cheers!

pknoth

pknoth

Hello there :slight_smile:

A quick notice about the release of version 2.0.1. In it, I gave an effort for the generated provider along with phx.gen.auth to pass the OpenID certification. It includes in particular a fix for the hybrid flow error return type following the specification.

I built a server using the package and its generated controllers that now pass the automated tests provided by the OpenID Foundation for the basic, implicit, and hybrid OpenID provider profiles (pull requests for jwks and userinfo endpoints are on the way). I’ll give a note here when I would be sure I can open-source the deployment that passed the tests suite. Keep you posted.

Cheers

Where Next?

Popular in Libraries Top

tmbb
I’ve been working on two packages (not on hex.pm yet) to build admin interfaces for phoenix apps: bureaucrat - which contains a bunch ...
New
treble37
Just looking for a little feedback on a tiny helper library I built - Sometimes I find the need to convert maps with atom keys to maps...
New
praveenperera
FastRSS Parse RSS feeds very quickly: This is rust NIF built using rustler Uses the RSS rust crate to do the actual RSS parsing Speed...
New
KronicDeth
Elixir plugin for JetBrain’s IntelliJ Platform (including Rubymine) This is a plugin that adds support for Elixir to JetBrains IntelliJ...
289 35421 110
New
OvermindDL1
Been making an MLElixir thing (not released yet…) for fun in spare time in the past day. I’m just trying to see how much I can get an ML...
132 13487 106
New
woutdp
Hi! I wanted to introduce my latest project LiveSvelte. It allows you to render Svelte inside LiveView with end-to-end reactivity. It’s ...
New
Qqwy
Hello everyone, I wrote a small library today called MapDiff. It returns a map listing the (smallest amount of) changes to get from map...
New
Jskalc
Hi! Today, after a couple weeks of development I’ve released v0.1 of LiveVue. It’s a seamless integration of Vue and Phoenix LiveView, i...
New
ahamez
Hi everyone, I’ve been working on this protobuf library for 3 years. We use it in the company I work for, EasyMile, to communicate with ...
New
Hal9000
Here is my first stab at this. README pasted below. https://github.com/Hal9000/elixir_random Comments and critiques are welcome. Th...
New

Other popular topics Top

JorisKok
I have a server on AWS, and was running a load test using artillery. When looking at the Phoenix dashboard I see the Ports going to 100% ...
New
itssasanka
Hi all, Trying to get some more clarity over utc_datetime and naive_datetime for Ecto: https://hexdocs.pm/ecto/Ecto.Schema.html#module-...
New
Jim
As a follow up to my earlier question: I have the code compiling and running but not getting a successful login from the rest server. ...
New
chrismccord
This release brings a number of exciting features, including integration with the new Phoenix LiveDashboard and Phoenix LiveView. There h...
New
vertexbuffer
Hello, can anybody help here..? I have a list of players and I what to delete an element, but every for loop the list is reverting to ori...
New
vac
Hi, I'm quite new in Elixir and I'm trying to format a string to a PEM format. I have the certificate value like MIIDBTCCAe2...... and ...
New
minhajuddin
I have seen a lot of code which picks the first element from a list using Enum.at(0) instead of List.first. Is there a reason why people ...
New
electic
Hi, I am new to Elixir. I am trying to use the DateTime component to insert a date into MySQL however the there seems to be no way to fo...
New
Fl4m3Ph03n1x
About me? ( if you have nothing better to do than reading about some random guy in the internet :stuck_out_tongue: ) Hello all, this is ...
New
joeerl
Hello again - after a longish gap I’ve decided I really must dig into Elixir and see what’s been happening here - so I have a few questio...
New

Sub Categories:

We're in Beta

About us Mission Statement