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
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)
