<commit_before>=========
Endpoints
=========

Authorization
-------------

TO COMPLETE

Token
-----

TO COMPLETE

User information
----------------

TO COMPLETE

Discovery
---------

TO COMPLETE

Json Web Keys
-------------

TO COMPLETE

Registration
------------

TO COMPLETE

Introspection
-------------

TO COMPLETE<commit_msg>Ticket 111 : Update the endpoint documentation<commit_after>=========
Endpoints
=========

Authorization
-------------

TO COMPLETE

Token
-----

TO COMPLETE

User information
----------------

TO COMPLETE

Discovery
---------

Discovery endpoint is an indirection layer. It contains the required informations to interact with the OpenId provider (SimpleIdentityServer).
According to Glenn Block author of the book "Designing Evolvable Web APIs with ASP.NET" the advantage of using this layer is : " *By creating discovery documents at API entry points,
we can enable clients to dynamically identify the location of certains resources without having to hardcode URIs into the client application* ".

The url of the discovery endpoint is *http://localhost/.well-known/openid-configuration*.
When an HTTP GET request is executed against it, a JSON object is returned with the following properties. (Fore more information you can refer to the official OpenIdConnectDiscovery_ documentation)

+---------------------------------------+-------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------+
| Parameter                             | Description                                                                                           | Values                                                                             |
+=======================================+=======================================================================================================+====================================================================================+
| authorization_endpoint                | URL of the Authorization endpoint                                                                     | /authorization                                                                     |
+---------------------------------------+-------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------+
| check_session_iframe                  | URL of an OP iframe that supports cross-origin communications                                         | **NOT SUPPORTED**                                                                  |
+---------------------------------------+-------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------+
| claims_parameter_supported            | Boolean value specifying whether the OP supports use of the claims parameter                          | true                                                                               |
+---------------------------------------+-------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------+
| claims_supported                      | JSON array containing a list of Claims Names                                                          | [sub, name, family_name, given_name etc..]                                         |
+---------------------------------------+-------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------+
| end_session_endpoint                  | URL at the OP to which an RP can perform a redirect to request that the End-User be logged out        | **NOT SUPPORTED**                                                                  |
+---------------------------------------+-------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------+
| grant_types_supported                 | JSON array containing a list of grant-types                                                           | [authorization_code, password, refresh_token, implicit]                            |
+---------------------------------------+-------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------+
| id_token_signing_alg_values_supported | JSON array containing a list of JWS signing algorithms                                                | [RS256]                                                                            |
+---------------------------------------+-------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------+
| issuer                                | Issuer identifier                                                                                     | identifier                                                                         |
+---------------------------------------+-------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------+
| jwks_uri                              | URL of the Json Web Key Set                                                                           | /jwks                                                                              |
+---------------------------------------+-------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------+
| request_parameter_supported           | Boolean value specifying whether the OP supports use of the request parameter                         | true                                                                               |
+---------------------------------------+-------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------+
| request_uri_parameter_supported       | Boolean value specifying whether the OP supports use of the request_uri parameter                     | true                                                                               |
+---------------------------------------+-------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------+
| require_request_uri_registration      | Boolean value specifying whether the OP required any request_uri used to be pre-registered            | false                                                                              |
+---------------------------------------+-------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------+
| response_modes_supported              | JSON array containing a list of response_mode values                                                  | [query, fragment]                                                                  |
+---------------------------------------+-------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------+
| revocation_endpoint                   | URL used to notify the authorization server that a refresh or access token is not longer valid        | **NOT SUPPORTED**                                                                  |
+---------------------------------------+-------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------+
| scopes_supported                      | JSON array containing a list of scopes                                                                | [address, email, openid, phone, profile, role]                                     |
+---------------------------------------+-------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------+
| subject_types_supported               | JSON array containing a list of subject identifier types                                              | [public]                                                                           |
+---------------------------------------+-------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------+
| token_endpoint                        | URL of the token endpoint                                                                             | /token                                                                             |
+---------------------------------------+-------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------+
| token_endpoint_auth_methods_supported | JSON array containing a list of Client Authentication methods supported by this Token Endpoint        | [client_secret_basic, client_secret_post, client_secret_jwt, private_key_jwt]      |
+---------------------------------------+-------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------+
| userinfo_endpoint                     | URL of the userinformation endpoint                                                                   | /userinfo                                                                          |
+---------------------------------------+-------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------+
| version                               | Version of the contract                                                                               | 1.0                                                                                |
+---------------------------------------+-------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------+
| registration_endpoint                 | URL of the dynamic client registration endpoint                                                       | /registration                                                                      |
+---------------------------------------+-------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------+


Json Web Keys
-------------

TO COMPLETE

Registration
------------

TO COMPLETE

Introspection
-------------

TO COMPLETE

.. _OpenIdConnectDiscovery: http://openid.net/specs/openid-connect-discovery-1_0.html
{'fraction_non_alphanumeric': 0.4761425576519916, 'fraction_numerical': 0.0008385744234800838, 'mean_word_length': 0.38997668997669, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 96, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '762857', 'n_tokens_mistral': 1148, 'n_tokens_neox': 1076, 'n_words': 417}