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.
The engine is used to manage API keys across neeto products. It also provides concerns to handle common logic related to NeetoApiKeysEngine::ApiKey
model.
- Add this line to your application's Gemfile:
source "NEETO_GEM_SERVER_URL" do # ..existing gems 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
-
Add
NeetoApiKeysEngine::ApiKeysHandler
concern to organization model.class Organization < ActiveRecord::Base # Include the following concern 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 theneeto_api_keys_authenticate_using_api_key
method within a before_action callback to authenticate the necessary actions.
class Api::V1::PublicApiController < ActionController::Base
# Include the following concern and callback
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
Install the latest NeetoApiKeysNano
package using the below command:
yarn add @bigbinary/neeto-api-keys-frontend
Check the Frontend package development guide for step-by-step instructions to develop the frontend package.
ApiKeys
(source code)
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.
-
noDataProps
: Props for handling scenarios when there is no data to display. -
headerProps
: Props for configuring the header section of the component. -
titleHelpPopoverProps
: Props for configuring the help popover in the title section.
import React from "react";
import { ApiKeys } from "@bigbinary/neeto-api-keys-frontend";
const App = () => <ApiKeys />;
export default App;
Consult the building and releasing packages guide for details on how to publish.