neeto-api-keys-nano
The neeto-api-keys-nano
facilitates the administration of API keys within neeto applications. The nano exports the @bigbinary/neeto-api-keys-frontend
NPM package and neeto-api-keys-engine
Rails engine for development.
Contents
-
Development with Host Application
-
Instructions for Publishing
Development with Host Application
Engine
The engine is used to manage API keys across neeto products. It also provides concerns to handle common logic related to NeetoApiKeysEngine::ApiKey
model.
Installation
- Add this line to your application's Gemfile:
source "NEETO_GEM_SERVER_URL" do
gem 'neeto-api-keys-engine'
end
- And then execute:
bundle install
- Add this line to your application's
config/routes.rb
file:
mount NeetoApiKeysEngine::Engine => "/neeto_api_keys_engine"
- Run the command to bring in all migrations required from the engine to the host application:
bundle exec rails neeto_api_keys_engine:install:migrations
- Add the migrations to the database:
bundle exec rails db:migrate
Usage
-
Add NeetoApiKeysEngine::ApiKeysHandler
concern to organization model.
class Organization < ActiveRecord::Base
include NeetoApiKeysEngine::ApiKeysHandler
The NeetoApiKeysEngine::ApiKeysHandler
concern is a module that provides functionality related to API keys within the host application. It establishes associations, methods, and logic for working with API keys.
-
Add the NeetoApiKeysEngine::Authenticatable
concern to the controller that requires API key authentication. Utilize the neeto_api_keys_authenticate_using_api_key
method within a before_action callback to authenticate the necessary actions.
class Api::V1::PublicApiController < ActionController::Base
include NeetoApiKeysEngine::Authenticatable
before_action :neeto_api_keys_authenticate_using_api_key
By default, this method expects the API key in the "X-Api-Key" key in the header. For different keys or implementations, define a token method in the controller that returns the token.
Example:
def token
request.headers["neeto-Api-Key"]
end
Frontend package
Installation
Install the latest NeetoApiKeysNano
package using the below command:
yarn add @bigbinary/neeto-api-keys-frontend
Components
This component is used for managing API keys in a web application. It provides functionality for viewing, creating, updating, and deleting API keys. The component includes a table for displaying API key data, as well as options to add new keys, edit existing ones, and delete keys. It also features a search bar for easily finding specific API keys.
Props
noDataProps
: Props for handling scenarios when there is no data to display.headerProps
: Props for configuring the header section of the component.
Usage
import React from "react";
import { ApiKeys } from "@bigbinary/neeto-api-keys-frontend";
const App = () => <ApiKeys />;
export default App;
Instructions for Publishing
Consult the building and releasing packages guide for details on how to publish.