> For the complete documentation index, see [llms.txt](https://dev.ishare.eu/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://dev.ishare.eu/version-3.0/introduction/specific-technical-standards/openid-connect-1.0.md).

# OpenID Connect 1.0

Besides Machine2Machine interaction, it can occur that it is relevant if a specific person requests data or a service. In order to provide a Service Provider with identity information on a human subject, iSHARE uses the OpenID Connect 1.0 protocol.

The iSHARE use of OpenID Connect 1.0 is based on the requirements of the [official standard](http://openid.net/specs/openid-connect-core-1_0.html).

iSHARE facilitates an ecosystem within which parties can interact with previously unknown parties; pre-registration is therefore not a prerequisite and thus requires alterations to the official standard.

### Description

OpenID Connect (OIDC) is the authentication layer that is built on top of the OAuth 2.0 protocol, which is an authorisation framework. The OIDC authentication layer allows clients to verify the ID and obtain basic profile information of their end-users

The authentication is performed by the authorisation server (managing the access rights and conditions) in an interoperable and REST-like manner.

### OpenID Connect's building blocks <a href="#openidconnect1.0-openidconnectsbuildingblocks" id="openidconnect1.0-openidconnectsbuildingblocks"></a>

OIDC specifies a RESTful HTTP API using JSON as a data format.

REST (Representational state transfer) or RESTful web services provide a method to achieve interoperability between computer systems and the internet.

APIs (Application Programming Interfaces) enable Machine-to-Machine (M2M) communication, where one machine calls upon the software functionality of another machine. They facilitate connectivity between applications. It is a software architectural approach that revolves around the view on digital interfaces that APIs provide self-service, one-to-many, reusable interfaces.

With OIDC, a broad range of clients (web-based, mobile, JavaScript) can request and receive data about authentication sessions and end-user profiles.

The specification is extensible (meaning it considers future growth) and supports optional features for encryption, ID data, discovery of OpenID providers and session management

### OpenID Connect 1.0 <a href="#openidconnect1.0-openidconnect1.0" id="openidconnect1.0-openidconnect1.0"></a>

OpenID Connect 1.0 is an adapted version of OpenID, combined with OAuth 2.0.

OpenID Connect performs many of the same tasks as OpenID 2.0, but in an API-friendly way and usable by native and mobile applications.

OpenID Connect defines optional mechanisms for robust signing and encryption.

Whereas the integration of OAuth 1.0a with OpenID 2.0 required an extension, in OpenID Connect, OAuth 2.0 capabilities are integrated with the protocol itself.

### iSHARE H2M authentication flow

Based on the described standards and specifications in this scheme, the generic iSHARE Human2Machine Authentication flow is described [here](/version-3.0/reference/authentication.md#human-to-machine-h2m-authentication).

The OpenID Connect 1.0 flow contains 2 important iSHARE-specific JWTs, which are described in more detail in [this section](https://dev.ishareworks.org/#operation--iSHARE_human_identity_details3-get) of the developer portal.

{% hint style="warning" %}
**Authorisation in OpenID Connect flow**

The generic OpenID Connect 1.0 flow does not take into account Authorisations of a human. However, in iSHARE, it is essential that authorisations of a user are combined with their identity details before a service can be offered. This authorisation flow is heavily dependent on the pseudonym used to refer to humans without exposing their identity. This section of the scheme is under construction, and parties wishing to implement authorisations of a user are advised to [contact the iSHARE Foundation](https://ishare.eu/contact/).
{% endhint %}


---

# 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://dev.ishare.eu/version-3.0/introduction/specific-technical-standards/openid-connect-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.
