Giter Club home page Giter Club logo

okta-arkose's Introduction

Okta + Arkose Labs

Use Arkose Labs' fraud prevention software to prevent account take-over attempts against your Okta users.

Prerequisites

You'll need an Arkose Labs account and an Okta account. If you don't have an Okta account, you can get a free-forever Okta account at developer.okta.com.

This solution is built on NodeJS, so you will need to have NodeJS installed.

Setup

Set up an authentication policy

Please note that this setup requires you to set up an authentication policy in your Okta tenant that allows authentication only from selected ip addresses. This will ensure that all authentication requests go through your application and the Arkose solution. You can skip this step for dev purposes, but you must enforce ip-address checking in production with this solution. See the "Set up an authentication policy" section below for more details, and note that the "Set up an authentication policy" step is different from the "Whitelist your web application domain" step.

Whitelist your web application domain

To get things up and running (for dev or prod), you need to whitelist your web application domain in your Okta tenant.

If you are using the developer console in your Okta tenant, go to API->Trusted Origins->Add Origin

If you are using the classic console in your Okta tenant, go to Security->Trusted Origins->Add Origin

Click Trusted Origins and add the domain of your application.

Clone the github repo

If you haven't already, clone the repo:

Install NodeJS packages

npm install

Add your environment variables

Copy the .env_example file included in this repo to a file called .env

Update the values in the .env file with your own values. If you don't already have an Okta API token for your tenant, you can follow the instructions here.

Launch the application

You can now launch the application:

node app.js

When you enter your credentials and click the Sign In button, you will be prompted with an Arkose challenge. When you complete the challenge, you will receive an Okta session token and then be redirected to the same page to start an Okta session.

Set up an authentication policy

To prevent users/requests from going directly to Okta to authenticate, you must set up an authentication policy in your Okta tenant that allows authentication only from selected ip addresses. This will ensure that all authentication requests go through your application and the Arkose solution.

Recommended steps are:

Create a Network Zone "Whitelist zone" that includes the ip address(es) of your application. In the Okta classic console: Security->Networks->Add Zone

Create a group that will store all of your external users: Directory->Groups

Create a policy applied to the External Users group with a rule:

IF User's IP is Not in Zone [Whitelist Zone]
THEN Access is Denied

Be careful not to include your Okta admin users in this policy.

okta-arkose's People

Contributors

tom-smith-okta avatar

Stargazers

 avatar

Watchers

 avatar  avatar

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.