oxd 3.0.1 Documentation#
To make integrating server-side applications with the Gluu Server (or any standard OpenID Connect Provider) fast, easy, and secure, Gluu offers commercial OAuth 2.0 client software called oxd.
oxd is commercial software licensed by Gluu. You can get a license and a $50 credit to get started by registering for an account on the oxd website.
If your goal is to integrate applications with your Gluu Server to achieve single sign-on (SSO), there are many strategies available to you. However, you should consider using oxd because:
oxd is super-easy to use;
oxd provides a central place to manage security across heterogenous application environments (i.e. if you have applications written in many languages, e.g. php, python, ruby, java, etc., you do not want to use a different open source client library for each application. That makes managing security a nightmare!);
oxd is constantly being updated to address the latest OAuth 2.0 security knowledge;
If you're also using the Gluu Server, Gluu can provide more complete end-to-end support if we know both the client and server software;
In addition to a simple JSON/REST API, there are oxd libraries for Php, Python, Java, Node, Ruby, C#, .Net, Perl and Go.
There are oxd plugins for many popular applications like: Wordpress, Drupal, Magento, OpenCart, SugarCRM, SuiteCRM, Roundcube, Shopify, and Kong. More are being added too. Next on the list are: MatterMost, RocketChat, NextCloud, and Liferay.
To learn more about oxd review these docs and the code on Github.
When you're ready to deploy oxd, head over to the website to get your oxd license.
The oxd Server is designed to work as a standalone service demon. oxd is a web server, running in an embedded Jetty server. Start it and stop it like you would any other unix service.
By default, oxd is restricted to
localhost, which means these APIs cannot be reached from another server on the network--only by services running locally on the server. oxd should be deployed on each server that has web applications.
oxd APIs can be called by any application that can make REST calls. Gluu also provides several native libraries that wrap the oxd APIs, currently available for Php, Java, Python, Node, Ruby C#, and .Net.
oxd is middleware service that simplifies the process of properly securing applications with OpenID Connect and UMA, two standard profiles of OAuth 2.0 for federated authentication and authorization, respectively. oxd should be deployed on the same server as the application you intend to secure, and can be called by the application using localhost.
Follow these instructions to install and start oxd.
You will need a valid license to start the oxd server. If you have not yet registered for a license, visit the oxd website.
Follow these instructions to configure oxd.
You will need a valid license to properly configure the oxd server. If you have not yet registered for a license, visit the oxd website.
Gluu currently publishes oxd plugins, modules, and extensions for the following open source applications (more coming!):
Gluu does its best to keep these plugins updated but does not guarantee specific functionality. If you find a bug, or would like feature enhancements, we would be happy to discuss allocating a resource to work on the plugin on a time and materials basis. Schedule a call with us to discuss the project scope and funding.
oxd is commercial software licensed by Gluu. Learn more on the oxd website.
What is oxd?
oxd is a mediator: it provides API's that can be called by a web application that are easier than directly calling the API's of an OpenID Connect Provider (OP) or an UMA Authorization Server (AS).
Where do I deploy oxd?
oxd is deployed on the same server as the web application(s) you want to protect.
Why should I use oxd?
oxd offers a few key improvements over the traditional model of embedding OAuth 2.0 code in your applications:
If new vulnerabilities are discovered in OAuth2/OpenID Connect, oxd is the only component that needs to be updated. The oxd APIs remain the same, so you don't have to change and regression test your applications;
oxd is written, maintained, and supported by developers who specialize in application security. Because of the complexity of the standards--and the liability associated with poor implementations--it makes sense to rely on professionals who have read the specifications in their entirety and understand how to properly implement the protocols;
Centralization reduces costs. By using oxd across your IT infrastructure for application security (as opposed to a handful of homegrown and third party OAuth2 client implementations), the surface area for vulnerabilities, issue resolution, and support is significantly reduced. Plus you who have someone to call when something goes wrong!
How is oxd licensed?
oxd is commercially licensed. Each time you install oxd you will need to use your license. Active installations are billed $0.33 per day (roughly $10 USD per month per active installation). Get your oxd license today.
Which programming languages and frameworks does oxd have libraries for?
Currently there are oxd libraries for the following languages and frameworks:
How do I get SSO across several websites?
You’ll need two things:
A central OpenID Connect Provider that holds the passwords and user information;
Websites that use the OpenID Connect protocol to authenticate users.
The second is accomplished by installing the oxd service on each web server that needs SSO. This provides easy to use local API’s that can be called by your web applications, and enables you to use a number of plugins for popular open source software packages.
Can I use oxd plugins for social login?
Since oxd simply makes it easy to send users to an OpenID Connect Provider (OP) for login, social login needs to be implemented at the OP. If you are using the Gluu Server, you can use Passport.js to configure and offer social login to your users.
Can I use oxd for two-factor authentication (2FA)?
Again, since oxd simply makes it easy to send users to an OpenID Connect Provider (OP) for login, two-factor authentication needs to be enforced at the OP. If your OP supports two-factor authentication, your application can request it by specifying an
acr_value in the oxd configuration file. To see which types of authentication mechanisms your OP supports navigate to
https://hostname/.well-known/openid-configuration and look for
acr_values. For instance, you can see that Google does not allow a client to request a specific type of authentication: Google OpenID Configuration. The Gluu Server ships with several built in two-factor authentication mechanisms. Two that are very easy to use are FIDO U2F tokens (like Yubikey) and Duo Security. Check out the default acr values for supported authentication mechanisms in the Gluu Server.
Can I use Google or Microsoft Azure Active Directory as my OpenID Connect Provider?
Probably, but Google and Microsoft do not support dynamic client registration. If you are successful with this, please let us know! It should work.
Can I purchase support for the Gluu Server or oxd?
Yes, for information on paid support, visit our website.