Skip to content
Ring middleware for Okta Single Sign-on
Clojure
Branch: master
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.
.circleci
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

CircleCI

Ring middleware for Okta Single Sign-on.

Installation

Leiningen

[bostonaholic/ring-okta "0.3.0"]

Gradle

compile "bostonaholic:ring-okta:0.3.0"

Maven

<dependency>
  <groupId>bostonaholic</groupId>
  <artifactId>ring-okta</artifactId>
  <version>0.3.0</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 "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 codox 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.

See Creating Project Pages manually.

License

Copyright © 2019 Matthew Boston

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

You can’t perform that action at this time.