# Login

{% hint style="info" %}
***This page must be considered part of the iSHARE Framework***

*This page is considered normative and is therefore compliant with RFC 2119.*
{% endhint %}

## Allow Conformance Test Tool (CTT) to login

> The /login endpoint is required in order to pass Conformance Test Tool (CTT). The endpoint allows user to authenticate himself using username and password. After successful authentication if user grants permit to requested scopes redirection to Service Provider should happen.

```json
{"openapi":"3.0.0","info":{"title":"iSHARE API specifications","version":"3.0"},"tags":[{"name":"Identity Provider (Required)","description":"Required endpoints for the iSHARE Identity Provider API."}],"servers":[{"description":"iSHARE test network base domain","url":"https://isharetest.net"}],"paths":{"/login":{"post":{"requestBody":{"content":{"application/x-www-form-urlencoded":{"schema":{"required":["username","password"],"type":"object","properties":{"username":{"description":"Human user’s login name. Could be email, mobile phone  number, nickname etc.","type":"string"},"password":{"description":"Human user’s password."}}}}},"required":true},"tags":["Identity Provider (Required)"],"parameters":[{"$ref":"#/components/parameters/content-type_form"}],"responses":{"200":{"description":"Login was successful and single page application will be responsible for redirection to returnUrl parameter."},"302":{"description":"Login was successful and back-end application redirects user to returnUrl parameter by itself."}},"deprecated":false,"operationId":"authenticate-user-login","summary":"Allow Conformance Test Tool (CTT) to login","description":"The /login endpoint is required in order to pass Conformance Test Tool (CTT). The endpoint allows user to authenticate himself using username and password. After successful authentication if user grants permit to requested scopes redirection to Service Provider should happen."}}},"components":{"parameters":{"content-type_form":{"deprecated":false,"name":"Content-Type","description":"Defines request body content type. MUST be equal to application/x-www-form-urlencoded.","schema":{"type":"string"},"in":"header","required":true}}}}
```

{% hint style="info" %}
CTT is going to use a low level of assurance because passing login when 2FA is enabled would be infeasible. Production environment should be way more secure, and traditional authentication using credentials could be even disabled if there is a need to use more secure ways of logging in, like biometrics, ID card logins, etc.
{% endhint %}

{% hint style="info" %}
It is not mandatory to have the same parameter names because CTT supports any parameter names for credentials.
{% endhint %}

{% hint style="info" %}
iSHARE documentation does not cover login failures because it’s only within the Identity Providers' scope.
{% endhint %}


---

# 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://dev.ishare.eu/identity-provider/login.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.
