KratosPlug - Authentication Plug that integrates Ory Kratos

KratosPlug

KratosPlug is a composable library for extracting session identifiers from the request, and exchanging them for a kratos session. KratosPlug also provides functions like KratosPlug.session_valid?/1 for working with sessions. This is not an official Ory Corp project.

hex.pm: kratos_plug | Hex
hexdocs.pm: kratos_plug v0.1.0 — Documentation

Library state

I’ve only done some initial integration testing. I plan to tag a 1.0.0 release when I feel the library has been properly tested and is ready for production use.

Why?

I need to migrate backend services written in elixir from Auth0 to Ory Kratos and I didn’t see any libraries that fit this need.

What is Kratos?

Ory Kratos is the developer-friendly, security-hardened and battle-tested Identity, User Management and Authentication system for the Cloud. Finally, it is no longer necessary to implement User Login for the umpteenth time!

Contributors

I’m writing this library for work but we’re open sourcing with an MIT license. It’s my first elixir library and all feedback is welcome. I’m hoping to make something useful to anyone integrating with Ory Kratos. Bug reports, comments here, code reviews for already commited code (pre-1.0.0), send it all.

3 Likes

Thank you for open sourcing this! I’m going to be using it in a new project and will contribute where it makes sense. I’m also going to be implementing the Ory Kratos self-service flows using LiveViews. Once I get it working maybe it’ll make sense to add some of those plugs to this repo?

LiveViews would be a wonderful addition to the library! Let me know if I can be of any help along the way.