<commit_before># Overview of OSIAM
This page contains some high level view on the OSIAM project. Visit https://osiam.org for additional information on OSIAM.

Chapters:
- [Functional overview](#functional-overview)
  - [Architecture model](#architecture-model)
  - [SCIMv2](#scimv2)
  - [OAuth 2.0](#oauth-20)
  - [Facebook Connect](#facebook-connect)
  - [OSIAM specific interfaces](#osiam-specific-interfaces)
  - [Interface / endpoint overview and status](#interface--endpoint-overview-and-status)
  - [Homepage](#homepage)
  - [The Forum](#the-forum)
  - [The Backlog](#the-backlog)
  - [Public CI](#public-ci)
  - [Software Quality Analytics](#software-quality-analytics)
  - [Issue Tracker](#issue-tracker)
  - [Repositories](#repositories)
- [Technical overview](#technical-overview)
  - [Java](#java)
  - [Operating System](#operating-system)
  - [Databases](#databases)

## Functional overview
OSIAM stands for Open Source Identity & Access Management. It is a secure and lightweight identity store that handles also processes like authentication and authorization. OSIAM is based on open standards. These standards in combination provide a secure way letting trusted or untrusted clients access.
OSIAM is developed with the following use cases in mind:
* secure storage of identity data for a web, cloud, mobile or legacy application
* controlled access to identity data from multiple applications
* central identity management for cloud services
* secure login (e.g. 2-factor authentication / step-up authentication)
* single sign-on for applications
* free SCIMv2 provider

### Architecture model

The OSIAM server is split into the authentication server and the resource server. These two server can run at the same server machine and the same database or on different server machines and also with different databases.

#### Authentication Server

The purpose of the Authentication Server is to authenticate the client and the user which are trying to get access to the resource server by providing a valid access token.

It also validate the given access token for the resource server.

#### Resource Server

The purpose of the Resource server is to handle all SCIM endpoints, the OAuth2 client endpoint and Facebook's `/me endpoint.

#### Gateways between these systems

There are 2 gateways between the auth-server and the resource-server.

**auth-server >> resource-server**
- GET: used to get the needed information about the user who wants to log in

**resource-server >> auth-server**
- GET: validates a given access token

![Picture ArchitectureModel](https://dev.tarent.de/plugins/mediawiki/wiki/osiamorgleg/images/7/79/ArchitectureModel.jpg)

### SCIMv2<commit_msg>Remove wrong diagram in docs<commit_after># Overview of OSIAM
This page contains some high level view on the OSIAM project. Visit https://osiam.org for additional information on OSIAM.

Chapters:
- [Functional overview](#functional-overview)
  - [Architecture model](#architecture-model)
  - [SCIMv2](#scimv2)
  - [OAuth 2.0](#oauth-20)
  - [Facebook Connect](#facebook-connect)
  - [OSIAM specific interfaces](#osiam-specific-interfaces)
  - [Interface / endpoint overview and status](#interface--endpoint-overview-and-status)
  - [Homepage](#homepage)
  - [The Forum](#the-forum)
  - [The Backlog](#the-backlog)
  - [Public CI](#public-ci)
  - [Software Quality Analytics](#software-quality-analytics)
  - [Issue Tracker](#issue-tracker)
  - [Repositories](#repositories)
- [Technical overview](#technical-overview)
  - [Java](#java)
  - [Operating System](#operating-system)
  - [Databases](#databases)

## Functional overview
OSIAM stands for Open Source Identity & Access Management. It is a secure and lightweight identity store that handles also processes like authentication and authorization. OSIAM is based on open standards. These standards in combination provide a secure way letting trusted or untrusted clients access.
OSIAM is developed with the following use cases in mind:
* secure storage of identity data for a web, cloud, mobile or legacy application
* controlled access to identity data from multiple applications
* central identity management for cloud services
* secure login (e.g. 2-factor authentication / step-up authentication)
* single sign-on for applications
* free SCIMv2 provider

### Architecture model

The OSIAM server is split into the authentication server and the resource server. These two server can run at the same server machine and the same database or on different server machines and also with different databases.

#### Authentication Server

The purpose of the Authentication Server is to authenticate the client and the user which are trying to get access to the resource server by providing a valid access token.

It also validate the given access token for the resource server.

#### Resource Server

The purpose of the Resource server is to handle all SCIM endpoints, the OAuth2 client endpoint and Facebook's `/me endpoint.

#### Gateways between these systems

There are 2 gateways between the auth-server and the resource-server.

**auth-server >> resource-server**
- GET: used to get the needed information about the user who wants to log in

**resource-server >> auth-server**
- GET: validates a given access token

### SCIMv2
{'fraction_non_alphanumeric': 0.08480364257256688, 'fraction_numerical': 0.00474293302978562, 'mean_word_length': 4.71180931744312, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 11, 'https://': 3, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 4, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '7520095', 'n_tokens_mistral': 1436, 'n_tokens_neox': 1326, 'n_words': 605}