# Providing access

## **Single Sign-On (SSO)**

This is the best option to grant easy access to academic, government, or corporate accounts. Users can gain access from anywhere, without needing individual login details, while retaining all the features of a personal, secure account. When someone uses this method to log into vLex Library, the service automatically creates a new personal corporate account when they sign in.

For admin users, SSO provides useful statistics, such as the number of users accessing vLex Library and the frequency of their individual sessions.

### vLex SSO protocol

The vLex SSO protocol is the easiest way to provide an SSO experience. Your IT team will install a code page in a private area of your website, and users who go to that page will be redirected to vLex Library, where they will be automatically authenticated.

To begin the process of implementing SSO for your account, contact <support@vlex.com> and we will begin the activation process by giving you the **Authentication token** and the **Account ID**.

{% hint style="danger" %}
The **Authentication token** is private. Do not give any third parties access to this information.
{% endhint %}

When you have this information, create a page on your private server that can verify a user, before redirecting them to the authenticated link.

{% hint style="success" %}
The code for this is publicly available in [Remote authentication↗](https://github.com/vlex/remote_auth). You can find it in the following programming languages:&#x20;

* PHP&#x20;
* Ruby&#x20;
* ASP Classic&#x20;
* ColdFusion&#x20;
* JSP&#x20;
* Python&#x20;
* C#
  {% endhint %}

#### Programming the code

If you wish to program the page from scratch, the URL link should be:  `http://vlex.com/session/remote_auth`&#x20;

This link should have the following GET parameters:

* **name**: the user’s name (John Smith)
* **email**: the user’s email (<johnsmith@email.com>)
* **timestamp**: the time that the link is generated, represented as seconds from the Epoch (1049896564)
* **account\_id**: your account ID, this data appears when activating account integration.
* **hash**: the value that is used to validate the rest of the fields, it is computed as: hexdigest(MD5(name+email+account\_id+token+timestamp))

The **hash** must be **encrypted** with the parameters indicated above, which will never be the same as it includes the **timestamp**. The + symbol represents a concatenation of sets of strings. When computing the **hash**, the order of the fields is relevant.

## **IP access**

{% hint style="warning" %}
While vLex supports IP Access (including access by proxy), our recommendation is to implement access by SSO.
{% endhint %}

When your users are logged into the network of your organisation, they can have access to vLex Library without signing in to their personal accounts, albeit losing some functionality.&#x20;

If you want to provide this option to your organisation, contact customer services on <support@vlex.com> and indicate the list or range of IPs that you want to include.

{% hint style="warning" %}
If you have problems determining IPs for granting access to your organisation, the vLex Library accounts team can provide assistance. [Contact us](/support-1/contact-us.md).
{% endhint %}

{% hint style="info" %}
Users who access vLex Library via this method will not be able to use features that rely on emails, such as [alerts](/getting-started/setting-up/alerts.md#alerts) and [history](/getting-started/quick-start-guide/history.md). They can override the IP by creating a personal account and logging in with a user ID and password.&#x20;
{% endhint %}

## **HTTP proxy**

You can provide your users with the same functionality they get with IP Access when they are not logged in to your network. To do this, you must enable a HTTP proxy. The supported proxy implementations are **EZProxy** and **WAM proxy.**&#x20;

To do this, contact customer service at <support_academic@vlex.com> and tell us the list or range of proxy IPs that you would like to activate.

{% hint style="warning" %}
If you have problems determining IPs for granting access to your organisation, the vLex accounts team can provide assistance. [Contact us](/support-1/contact-us.md).
{% endhint %}

Once we complete the implementation, we will provide you with the URL address that you must use to access the service.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://support.vlex.com/vlex-library/vlex-library-home/account-and-admin-management/a-guide-for-administrators-managing-your-corporate-account/providing-access.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
