OpenID Connect for Linux: Difference between revisions
From Lsdf
Jump to navigationJump to search
(→Goals) |
|||
Line 35: | Line 35: | ||
** System Design (Systementwurf) |
** System Design (Systementwurf) |
||
** Implementation (Implementierung) |
** Implementation (Implementierung) |
||
** Validation (Validierung (Qualitätskontrolle/Softwaretest |
** Validation (Validierung (Qualitätskontrolle/Softwaretest) |
||
** Projektabnahme und Abschlussveranstaltung |
** Final Report (Projektabnahme und Abschlussveranstaltung) |
||
* Get better knowledge about authentication and authorization |
* Get better knowledge about authentication and authorization |
||
* Learn about client/server |
* Learn about client/server communications |
||
* Get better at |
* Get better at understanding of systems, designing and implementing them |
||
* Learn about the Linux Operating System |
* Learn about the Linux Operating System |
||
* Have fun |
* Have fun |
Revision as of 09:15, 15 October 2015
Description
We are working at the European scientific project called INDIGO Data Cloud. As part of that there is a need to harmonize identities all over the European Federations and provide an easy to use single sing on system.
This is where you come into play! You will implement a service that will enable a user to login at a single-sign-on system and use those credentials to do e.g. ssh, ftp or even S3.
Our Idea is a RESTful service with a plugin-interface. Plugins will be provided and implemented on a end-service base.
So during your PSE you will be working with:
- OpenID Connect
- OAuth 2.0
- Json Web Tokens (JWT)
- Lightweight Directory Access Protocol (LDAP)
- Security Considerations (optional)
- replication and high availability (optional)
And you will implement:
- a RESTful webservice
- multiple clients
- multiple concurrent requests
- remote execution of code, e.g. using a ssh-connection (could be by using Anisble)
- multiple different plugins for the services that need authorization/authentication
Goals
- Meet the PSE Goals
- Requirement specification (Pflichtenheft)
- System Design (Systementwurf)
- Implementation (Implementierung)
- Validation (Validierung (Qualitätskontrolle/Softwaretest)
- Final Report (Projektabnahme und Abschlussveranstaltung)
- Get better knowledge about authentication and authorization
- Learn about client/server communications
- Get better at understanding of systems, designing and implementing them
- Learn about the Linux Operating System
- Have fun
Requirements
- English (at least basic)
- Linux (basic knowledge, you should have seen the command line)
- Python (basic knowledge)
- Erlang (optional)
- eager to learn new things
What we provide
- a group of smart and fun people
- several virtual machines as playground (yes, Linux and root ;) )
- a PSE project that will be used for real later on