Git Product home page Git Product logo

okta-api-center's Introduction

Okta API Center

The Okta API Center gives developers a tool to see how easily Okta's API Access Management (OAuth as a Service) capabiltiies integrate with leading API gateways and application proxies.

Okta is a standards-compliant OAuth 2.0 authorization server and a certified OpenID Provider.

Installing

The Okta API Center is a Node.js/Express application.

npm install

How it works

When the API Center application launches, it looks for a config file:

/config/instances/app_settings.json

This file stores the settings that the app needs to work properly.

To create this file, copy and rename the file

/config/templates/app_settings_template.json

To get the values for the app_settings file, follow the instructions for your particular API gateway, available in the /gateways folder.

To launch the app

node app.js

Gateways

As of today (July 2018) the API Center supports:

  • Mulesoft
  • Kong

Overview

An API access management workflow typically includes the following components:

  • An API
  • An API gateway
  • An application
  • An OAuth server
  • An identity provider

And, of course, a use-case to drive the configuration of all of those components.

This tool uses a simple use-case to illustrate how the overall flow works:

  • You are managing a "solar system" API.
  • You want to control access to the API so that only users with a "silver" scope get access to a list of the planets, and only users with a "gold" scope get access to a list of the moons.

With that use-case as context, the components are set up as follows:

API

Okta provides a very simple solar system API on heroku: https://okta-api-am.herokuapp.com This API echoes a list (json object) of the planets: https://okta-api-am.herokuapp.com/planets And a (partial!) list of the moons: https://okta-api-am.herokuapp.com/moons For demo purposes, the API is wide open. In a real-world use-case you would of course lock down the API so that it could only be accessed through your gateway.

API Gateway

To set up Okta as an authorization server for your gateway, follow the instructions for your gateway in the /gateways directory.

Application

The application that coordinates all of the components and UI is the node app.js application included in this repo. The application loads all of the configuration values and launches a web server (Express) to present an end-user UI.

OAuth server, identity provider

In this case, Okta will be the OAuth server and the identity provider.

okta-api-center's People

Contributors

tom-smith-okta avatar coopr avatar

Watchers

 avatar Guanlan D. avatar Colin Hutchinson avatar James Cloos avatar Marco Palladino avatar Augusto Marietti avatar Geoff Townsend avatar  avatar

Forkers

isabella232

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.