
API client manager rails gem - timigod
https://github.com/timigod/client_manager
======
timigod
Client Manager is a mountable Rails (engine) gem that helps identify and
authenticate your API clients.

Motivation:

To understand why this gem exists, let's look at a simple example of a blog
application built with a Rails API and any JavaScript front-end framework. In
the API, you're probably going to have some endpoints that only logged in
Users/Authors can access. Like creating or deleting a blog post. Other
endpoints, however, like reading posts, will be unauthenticated. This means
that if one should go to the read endpoint using a browser, the whole JSON
response will be displayed. What would be ideal, would be make it such that
only the front-end application can access the read endpoint(s).

Typically to do this, you might generate a random UUID and ask the front-end
developer to put it in the header of their requests. But this doesn't scale
well. What if you want to add an Android app? Or an iOS one too? That's where
Client Manager comes in. It helps you easily manage all of this with a simple
User Interface. With Client Manager, you can:

Create clients with an automatically generated JSON Web Token, which can be
used to authenticate requests Create users with the ability to create (a
specified number of) clients themselves

