> For the complete documentation index, see [llms.txt](https://community-test.logicnets.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://community-test.logicnets.com/release-9/platform-documentation/system-administration/authentication-and-authorization/oauth-2-0openid-1-0.md).

# OAuth 2.0/OpenID 1.0

## Description

LogicNets integrates the OAUTH 2.0/OpenID connection authentication framework, which is widely adopted and supported by many identity providers. LogicNets supports all OAuth 2.0/OpenID identity providers (IdPs) that support the Authorization Code flow and sign their tokens with RS256 or ES256 algorithms.

You can integrate OAUTH 2.0/OpenID Connect in your application by enabling authentication in your application and configuring your identity provider in our standard Logon module. The attached document shows an example of a company's configuration file, both for Google and a company's specific IdP.

For more information about OAUTH system integration and IdP, see the following:

* [OAuth 2.0/OpenID 1.0 for LogicNets v7.4+](/release-9/platform-documentation/advanced-topics/system-integration/oauth-2-0openid-1-0-for-logicnets-v7-4.md) for specific details about integrating with LogicNets v7.4+.
* [How to Use the OAuth 2.0 Client Credentials Flow Using RS256-signed JWT Bearer](/release-9/platform-documentation/advanced-topics/webservice-api/how-to-use-the-oauth-2-0-client-credentials-flow-using-rs256-signed-jwt-bearer.md) for more information about using RS256.
* [Configuring IdP in Access Management](/release-9/platform-documentation/system-administration/authentication-and-authorization/configuring-idp-in-access-management.md)

## Interaction

The following sequence diagram illustrates the interaction between the browser, LogicNets, and the identity provider.

![](https://2802811211-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FdFhfexCjZ5JMhwGzzywq%2Fuploads%2Fgit-blob-20d5bb69b11655fbac47d7e2ba64bed511689678%2F5988c59e-cd71-4b88-9f6b-ab7dcb755658.png?alt=media)

## Configuring the Logon Package

Users can configure the LogicNets *Logon* package to authenticate users with external identity providers, including Google, Live, Office365, and others. To configure the Logon package, follow the steps detailed below.

![](https://2802811211-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FdFhfexCjZ5JMhwGzzywq%2Fuploads%2Fgit-blob-48512e8c77e0737f41762c02c1d0e7cbac324cc3%2Fad88e8d2-3d89-42c1-831d-90194b669cc2.png?alt=media)

1\. Register your application with the identity provider. LogicNets has a generic registration for Office365, Google, or Windows Live. It is possible to use these if your LogicNets installation is hosted on a LogicNets server. If you want to use the generic registration continue with Step 4. Otherwise, start registering your application using the following links:

* **Office365**: <https://msdn.microsoft.com/office/office365/howto/add-common-consent-manually#bk_RegisterServerApp> or <https://apps.dev.microsoft.com/#/appList>
* **Windows Live:** [https://dev.live.com](https://dev.live.com/)
* **Google**: <https://console.developers.google.com/> and <https://developers.google.com/identity/protocols/OAuth2>

2\. The identity provider will ask for details like application name, logos, and a redirect URL. You should use your own installation redirect proxy (https\:///authentication.lns).

3. The identity provider will generate a client id and client secret. Store this data in a secure location, as some providers do not allow you to review this information at a later point in time.
4. Open the LogicNets configuration of your installation at *dat//settings.cfg*.

* A quick note about settings:
  * If you add the IDP config to *dat/settings.cfg* then it will apply to all companies in the installation.
  * If you add the IDP config to *dat//settings.cfg* then that IDP configuration will only apply to that one company.
  * In general, company-level settings override system-level settings, but when a setting is not specified the system defaults to the system-level settings or even the software default settings.

5. Fill in the client\_id, client\_secret, and redirect\_uri, e g. for Windows Live please adapt *\_session. AUTH.MODES.windows\_live*. You can also use another identity provider in addition to Windows Live, SMART Health IT, Office 365, and Google.
6. To enable one or more identity providers adapt OAUTH\_MODES in \_context.
7. Add users to the company’s admin database or through the portal. Since users log in externally, you do not need to save passwords.

## Attachments

* [settings.cfg.zip](https://github.com/logicnets/community-portal/tree/release-9/docs/.gitbook/assets/36ld5r-settings.cfg.zip)

## Archived replies

### Katie Sieg, 2021-03-04

In step 4, should the settings.cfg file that is edited be the one located at /dat/settings.cfg or /dat/bnt//settings.cfg?

### Leslie M, 2021-03-05

Katie Sieg - Thank you for your question.

If the IDP config is added to dat/settings.cfg then it will apply to all companies in the installation

If the IDP config is added to dat//settings.cfg then that IDP configuration will only apply to that one company.

This is a general mechanism that applies to all settings. Company level settings override System level settings, but when a setting is not specified it will default the system level settings or even the software default settings.

We will update the document with this additional information.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

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

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://community-test.logicnets.com/release-9/platform-documentation/system-administration/authentication-and-authorization/oauth-2-0openid-1-0.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
