OpenID Connect for Linux: Difference between revisions
From Lsdf
Jump to navigationJump to search
Line 20: | Line 20: | ||
* [https://en.wikipedia.org/wiki/Lightweight_Directory_Access_Protocol Lightweight Directory Access Protocol (LDAP)] |
* [https://en.wikipedia.org/wiki/Lightweight_Directory_Access_Protocol Lightweight Directory Access Protocol (LDAP)] |
||
* Security Considerations (optional) |
* Security Considerations (optional) |
||
* |
* concurrency (optional) |
||
Revision as of 11:21, 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)
- concurrency (optional)
And you will implement:
- a RESTful webservice
- multiple clients
- multiple concurrent requests
- a management GUI (e.g. a website)
- 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 (all documentations/presentations will be in English)
- Linux (basic knowledge, you should have seen the command line)
- Python (basic knowledge)
- eager to learn new things
What we provide
- an international 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