Anyone working on WebID implentations for BEAM languages?

The W3C’s WebID and it’s authentication protocol appear to be the perfect decentralized solution to the fragmentation of identity on the web, or it’s centralization in unaccountable huge companies. It’s sad that so many sites insist on authenticating us with Google or Facebook when there are better web protocols already available.

Is anyone in the Elixir or other BEAM language community working on WebID implementations? I can’t seem to find any libraries on Hex or mentions on this forum. Are there reasons people are staying away from WebID other than unfamiliarity?


There’s RDF tooling etc in Hex that you could use to build one, but even the W3C’s wiki page for listing implementations seems thoroughly deceased (last updated in 2015).

Surveying other popular languages:

  • Ruby - no results for WebID at all on
  • Javascript - one result that hasn’t been updated in 2+ years
  • Go - one result last updated in 2017
  • Python - a handful of results but most of them are 5+ years old
  • Perl - an actual middleware!… from 2014
  • Java - there’s not exactly a “source of truth” for Java packages, but no recent ones turned up in Google

As far as using WebID, the main thing that turns up is the Solid project which is run by a W3C community group - and their preferred approach fuses WebID, OpenID Connect, and JWT into a giant Web Standards Voltron.

“Universal auth” is an interesting concept, but it suffers from the two-sided marketplace problem; there’s no incentive for providers to add it because there aren’t many places to use it, and there’s no reason for destinations to add it because there are no providers…

1 Like

Thanks, Matt. That confirms my fears. I hate that good ideas like WebID die on the vine in our monopolistic marketplace. You’d think that the ActivePub projects might have taken it up, and I’m glad that the Solid Project has kept hope alive. I don’t actually believe that a universal auth solution needs buy-in from the big bad providers, but it absolutely does need support from the next generation of decentralized alternatives. Getting working implementations into major language libraries would be a prerequisite. We get the web that we tolerate or the one we build. Perhaps someday I’ll know enough to be able to implement something like this, but I hope one of you beats me to it.