Project

securid

0.0
No commit activity in last 3 years
No release in over 3 years
A library for authenticating with an RSA SecurID ACE Authentication Server. Supports synchronous authenttication with ACE Server 6.1 and greater. Supports interactive and non-interactive flows.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies
 Project Readme

SecurID

SecurID is a library for authenticating with an RSA SecurID ACE Authentication Server.

RSA SecurID is a two-factor authentication scheme that uses a PIN and a tokencode to authenticate a user. The tokencode is generated by a hardware or software token and changes at regular timed intervals.

Requirements

Installing the SecurID gem requires installation of the proper ACE authentication library for your system. The library may be obtained from RSA.

Installation

$ gem build securid.gemspec
$ gem install securid-X.X.gem

Usage

require 'rubygems'
require 'securid'

session = RSA::SecurID::Session.new
session.authenticate(username, passcode)
session.authenticated?                     # true on success

The authenticate instance method accepts a username and a passcode and returns true or false to indicate success or failure.

The passcode is simply the concatenation of the user's PIN and their current tokencode.

Test Mode

Since it's not always possible to have an RSA ACE server running (local development for example), the gem supports a test mode that will bypass any communication with the ACE server and simply return a predetermined response.

require 'rubygems'
require 'securid'

session = RSA::SecurID::Session.new(test_mode: true)
session.authenticate(username, passcode)   # never talks to the server
session.authenticated?                     # test authentication is always successful by default

Errors

Any unexpected problems during the authentication process will raise an RSA::SecurID::SecurIDError.