Yubico

Web API & Clients

We offer implementations of the Yubico Web Service API in a number of different languages. Most of these projects are typically run as external free software projects. Some of these are stable but most are under development with known defects (check the bug tracker).

The clients supported by Yubico are PHP Class, C client, Drupal Module, PAM module and MediaWiki Extension.  For support on these, please e-mail support@yubico.com.
 

API Key

To use one of these clients with the YubiCloud, you will need an API Key.

» Get the API Key
 

Yubico PHP class

A PHP class allows you to easily check YubiKey OTP's from your PHP web site.

» Google Code "php-yubico" Project


Yubico C Client Library

Yubico C client library is a shared library written in C that performs online YubiKey OTP validation.

» Google Code "yubico-c-client" Project

Yubico Drupal Module

Extend the Drupal CMS with two-factor authentication using YubiKey.

» Google Code "yubikey-drupal" Project

Yubico PAM module

This module enables you to use YubiKey for authentication in any environment that relies on the Pluggable Authentication Module (PAM) system. Useful for GNU/Linux desktop login, Solaris login, Windows login via pGina, MyProxy, SSH, and so on.

» Google Code "pam-yubico" Project

Yubico Java Client

Integrate YubiKey OTP verification into your Java code.

» Google Code "yubico-java-client" Project

Yubico .NET Client

This library contains a C# implementation of YubiKey OTP verification.

» Google Code "yubico-dot-net-client" Project

Stand-alone Yubico PHP class

PHP class that doesn't rely on the PEAR framework, with SSL verification support, written by Tom Corwine.

» Google Code "yubikey-php-webservice-class" Project 
 

MediaWiki YubiKey Extension

Authenticate your MediaWiki users using the YubiKey plugin to reduce spam and bot problems.

» Google Code "yubikey-mediawiki" Project 
 

Ruby Yubico Client

The Ruby client offers easy integration of YubiKey validation in the Ruby language.

» GitHub "yubikey" Project
» Unmaintained: Google Code "ruby-yubico" Project 
 

Yubico Perl Client

Client-side code written in Perl for verifying YubiKey One-Time Passcodes (OTPs).

» Auth-YubiKey_WebClient project on CPAN
» POE-Component-YubiAuth project on CPAN
» Unmaintained: Google Code "yubico-perl-client" Project
» Mojolicious Plugin: YubiVerify
 

Yubico Python Client

You can use Python along with the YubiKey for some serious authentication. This is the client-side code in Python for verifying the YubiKey One-Time Passcodes (OTPs).

» GitHub "python-yubico-client" Project
» Google Code "yubikey-python" Project
» Google Code "yubico-python-client" Project 
 

Yubico ABAP Client

An ABAP class for verifying Yubico One-Time Passcodes.

» Google Code "yubico-abap" Project

Yubico LISP Client

» newLISP Client

Apache Basic Auth mechanism: mod_authn_yubikey

The mod_authn_yubikey module provides one and two-factor authentication for your website and is completely independent from the technology that implements your website (like CGI, JSP or PHP).

» The "mod_authn_yubikey" Project



The Yubico Web Service APIs makes it possible for you to verify the One-Time Passcodes (OTP) generated by the YubiKey. This page describes how to get started working with our server and provides pointers to the protocol specification.

We have written clients in several languages and for different purposes, so chances are that you do not need to implement our protocol yourself. Save time by looking at our existing clients: Java, C#/.NET, Python, PHP, Ruby.

If you write a new client, please let us know so that others can avoid duplicating work.

To get a real-time understanding of the protocol, you may use the Auth_Yubico PHP demo page: Yubico API demo



Getting Started

If you want to write your own client, a gentle introduction to the topic is provided in the Getting Started Writing Clients Wiki page.
 



Protocol Specification

The protocol is documented on the Yubico PHP Server Wiki and the latest revision is the Validation Protocol Version 2.0. We have put together a short Server v2 Frequently Asked Questions that will help you get an overview of the changes compared to version 1.
 

Windows Client API

Client API for YubiKey 2.2, featuring support for device serial numbers and challenge-response.

» User guide
» Binary installer for 32-bit / x86 (Digitally signed)
» Binary installer for 64-bit / x64 (Digitally signed)


Windows Server API

Server support functionality for challenge-response, YubiKey OTP and OATH-HOTP validation.

» User guide
» Binary installer (Digitally signed)