Middleware for integrating Okta and Ring
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
doc/coverage
maven_repository/com/okta/saml-toolkit
src/ring
test-resources
test
.gitignore
.travis.yml
CHANGELOG
LICENSE
README.md
project.clj

README.md

ring-okta

Build Status

Ring middleware for Okta Single Sign-on.

Installation

Leiningen

[ring-okta "0.1.6"]

Gradle

compile "ring-okta:ring-okta:0.1.6"

Maven

<dependency>
  <groupId>ring-okta</groupId>
  <artifactId>ring-okta</artifactId>
  <version>0.1.6</version>
</dependency

Okta SAML Toolkit Dependency

Since Okta doesn't publish the SAML Toolkit for Java, you must download it here. You then must mvn install it to your local maven repository. Check the project.clj for the version of the SAML Toolkit to download from Okta.

Usage

(ns com.company.core
  (:require [compojure.core :refer :all]
            [compojure.route :as route]
            [ring.middleware.okta :refer [wrap-okta okta-routes]]))

(defroutes company-routes
  (GET "/" [] "<h1>Hello World</h1>")

  okta-routes

  (route/not-found "<h1>Page not found</h1>"))

(def app
  (-> company-routes
      (wrap-okta {:okta-home "https://company.okta.com"})))

Documentation

The documentation is built with codox (lein doc) and published to the gh-pages branch.

Test Coverage

The test coverage summary is built with cloverage (lein cloverage).

Development

As described in Usage above, the Okta SAML Toolkit must be downloaded and installed to your local maven repository. When updating this dependency, here is how you can install the downloaded jar:

$ mvn install:install-file -Dfile=saml-toolkit.jar -DgroupId=com.okta -DartifactId=saml-toolkit -Dpackaging=jar -Dversion=<version> -DcreateChecksum=true -DupdateReleaseInfo=true -DgeneratePom=true -DlocalRepositoryPath=/path/to/localRepo

Generating API Docs

The lein doc command is configured in project.clj to output documentation to ../ring-okta-doc. This should be configured to be the gh-pages branch so the API docs can be hosted on GitHub.

~/code
  |- ring-okta
  |- ring-okta-doc
  ...

Once lein doc is run in ring-okta, you can commit the changes in ring-okta-doc to the gh-pages branch of this repository.

License

Copyright © 2015 Hendrick Automotive Group

Distributed under the Eclipse Public License either version 1.0 or (at your option) any later version.