# Authentication and SSO

***

### How do I setup Oauth SSO with Apple?

To use SSO with Apple from GLPI, you can follow this [procedure](https://app.gitbook.com/s/uUCcURk2xlvtpVGbiRZf/plugin-glpi-network/oauthsso). An access to the Apple developer console is required. You will also need to download the Oauth SSO plugin available on the marketplace.&#x20;

***

### How do I setup Oauth SSO with Entra?

To use SSO with Entra from GLPI, you can follow this [procedure](https://app.gitbook.com/s/uUCcURk2xlvtpVGbiRZf/plugin-glpi-network/oauthsso#entra). An access to the Microsoft 365 Tenant is required. You will also need to download the Oauth SSO plugin available on the marketplace.

***

### How do I setup Oauth SSO with OKTA?

To use SSO with OKTA from GLPI, you can follow this [procedure ](https://app.gitbook.com/s/uUCcURk2xlvtpVGbiRZf/plugin-glpi-network/oauthsso#okta). You will need admin access to OKTA. You will also need to download the Oauth SSO plugin available on the marketplace.

***

### How do I configure OAuth SSO with Google?

To use SSO with Google from GLPI, you can follow this [procedure ](https://app.gitbook.com/s/uUCcURk2xlvtpVGbiRZf/plugin-glpi-network/oauthsso#google)You will need admin access to your Google Tenant. You will also need to download the OAuth SSO plugin available on the marketplace

***

### How do I setup Oauth SSO with Keycloak?

To use SSO with Keycloak from GLPI, you can follow this [procedure ](https://app.gitbook.com/s/uUCcURk2xlvtpVGbiRZf/plugin-glpi-network/oauthsso#keycloak)You will need admin access to Keycloak. You will also need to download the Oauth SSO plugin available on the marketplace.

***

### Why doesn't Oauth SSO work/no longer?

There are several possible reasons for this problem:

* the secret has expired,
* the password for the account obtaining SSO authorization has expired,
* you have requested a URL change and the provider-side application has not been modified.

To check what's causing the problem, you can activate the debug mode, which will point you in the right direction. You can follow this [procedure](https://app.gitbook.com/s/sGALtnzA2IROeldmXKt5/authentication/activate_sso) to help with Setup

***

### Can I merge my AD and SSO users?

Yes, under certain conditions. It is possible in **`administration`** > **`authentication`** > **`Other authentication methods`** to set the option **`remove the domain of logins like login@domain`** to **`Yes`**. This action carries a risk depending on how your SSO application is set up on the provider side.

!!! Danger **If you allow SSO access to external tenants**, it is possible that identity theft could occur. For example, I log on with <john.doe@mondomaine.com>. Generally speaking, you can't have 2 identicals logins on the same tenant. If you have a homonym in the company, the logins will be different. On the other hand, if a namesake from outside the tenant, such as <john.doe@gmail.com>, logs in, he or she will be able to impersonate you. This option should therefore be limited to SSO applications that use a single tenant.

***

### Which providers can I use with SSO?

Here is the list of providers currently available:

* <img src="https://3250947132-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSvoJ3lioglS2UZLcWWyP%2Fuploads%2FzkvZzI9oOhae7UfkGAwq%2FAmazon.svg?alt=media&#x26;token=2fe87f37-1d11-40d4-be28-7ff75824aca1" alt="Alt text" data-size="line"> **Amazon**,
* <img src="https://3250947132-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSvoJ3lioglS2UZLcWWyP%2Fuploads%2F7j1sMHnku9EVaRF0JrN3%2FEntra.webp?alt=media&#x26;token=1b7ba87d-e261-4243-a7a3-2ec8b4f24bc6" alt="Alt text" data-size="line"> **Microsoft Entra**,
* <img src="https://3250947132-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSvoJ3lioglS2UZLcWWyP%2Fuploads%2FwdSolwR694TOA3AxlWtW%2FFacebook.svg?alt=media&#x26;token=5e6c3bc2-7cad-42da-9b01-f424df766c02" alt="Alt text" data-size="line">    **Facebook**,
* <img src="https://3250947132-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSvoJ3lioglS2UZLcWWyP%2Fuploads%2FuiiL8PpDOvwPD1jHy5FF%2FGithub.svg?alt=media&#x26;token=c68b4cba-5d61-4939-a5c7-f6c1617f2140" alt="Alt text" data-size="line">  **Github**,
* <img src="https://3250947132-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSvoJ3lioglS2UZLcWWyP%2Fuploads%2FWX94RLY0nUyB83RNJtsV%2FGitlab.svg?alt=media&#x26;token=bef1fe1d-4158-4077-b467-a7390a32bda3" alt="Alt text" data-size="line">  **Gitlab**,
* ![Alt text](https://3250947132-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSvoJ3lioglS2UZLcWWyP%2Fuploads%2FVFMMUWihUGZ3TF2oaeHp%2FGoogle.svg?alt=media\&token=6a553f27-8796-48c0-84e6-b27f90acf790)  **Google**,
* <img src="https://3250947132-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSvoJ3lioglS2UZLcWWyP%2Fuploads%2FmImnV8gWACf9IBMEhMmF%2FKeycloak.svg?alt=media&#x26;token=b9196526-3479-4183-bf43-79d9da520999" alt="Alt text" data-size="line">  **Keycloak**,
* <img src="https://3250947132-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSvoJ3lioglS2UZLcWWyP%2Fuploads%2F6CpF9whtcw5tVKmIC2tn%2FOKTA.svg?alt=media&#x26;token=2c751a44-9c9a-4620-b6a9-0a638c060f0f" alt="Alt text" data-size="line">  **OKTA**
* <img src="https://3250947132-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSvoJ3lioglS2UZLcWWyP%2Fuploads%2FpRTUgjrqdTXs9QMkwBuK%2FApple_logo_black.svg?alt=media&#x26;token=229ecb77-a2d8-4591-9ba7-09bd58111af7" alt="" data-size="line">   **Apple**
* <img src="https://3250947132-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FSvoJ3lioglS2UZLcWWyP%2Fuploads%2FvrFLmt6poRusegUe7M4R%2Fopenid-logo.png?alt=media&#x26;token=6092295a-da90-4d92-82e7-1e7070500bf6" alt="" data-size="line"> **OpenID connect**

***

### Can I display SSO authentication only on the home page?

Yes. From your SSO application, click on **`setup`** at the top of the screen. Then click on **`hide standard login form`**. It will still be possible to connect with an internal account by clicking on **`standard login`**.

***

### Why do I get a message telling me my password is empty?

This can happen when you use V2 of the Oauth SSO plugin. Setting up **`claims`** and **`API permissions`** is necessary for the plugin to work properly. You can follow this [article](https://glpi-plugins.readthedocs.io/en/latest/oauthsso/entra.html#claims) to set up your application.

***

### Why do I get an error message telling me that I don't have access rights to the application?

This happens when the authorisation rules have not been set up. In fact, once authentication has been successfully completed, GLPI checks that you have an assigned authorisation. GLPI also checks that a rule has been set up to assign you one automatically. If this is not the case, access to GLPI will be denied. To set up these authorisation rules, please refer to this [article](https://glpi-plugins.readthedocs.io/en/latest/oauthsso/index.html) to help you configure them.

***

### Why are some user record fields overwritten after authentication with OAuth SSO?

This can happen if your OAuth SSO authentication source is also the provisioning source. If the option **`Fetch information from user profile`** (available from **`Setup`** > **`Oauth SSO applications`**) is set to **`No`**, Oauth SSO will not retrieve information from user records. If you wish to retrieve user information, change this option to **`Yes`** and make sure that the fields in **`Setup`** > **`Authentifcation`** > **`Other authentication methods`** and the claims of your OAuth SSO application are filled in (more information [here](https://glpi-plugins.readthedocs.io/en/latest/oauthsso/index.html)).

If, on the other hand, you have an external provisioning source such as SCIM, and the **`Fetch information from user profile`** option is set to **`Yes`**, OAuth SSO will overwrite the current information and replace it with the information entered in **`Setup`** > **`Authentication`** > **`Other authentication methods`**. We therefore recommend that you set this option to **`No`** if you have an external provider (more information [here](https://glpi-plugins.readthedocs.io/en/latest/oauthsso/index.html)).

***

### Does SSO enable provisioning?

No, SSO is only a means of connection and does not provision users upstream. To do this, you need to use the [SCIM plugin](https://app.gitbook.com/s/uUCcURk2xlvtpVGbiRZf/plugin-glpi-network/scim)

***

### How do I apply rules to an SSO connection?

To apply rules to an SSO connection, you need to choose one of the following criteria:

* **`Authentication type is External Authentications`**

or

* **`Email contains @mydomain.com`**
