Description of Assignment
Identity and Access Management (IAM) plays a crucial role in securing modern digital platforms. In this internship assignment, you will use Curity as an Access Management tool to set up a secure registration and access structure for applications or clients within a platform environment.
A fictional customer, IdenTV, wants to develop a secure way to connect its digital platform to external applications. It is looking for a solution that uses Curity to manage registration, authentication and authorisation.
This scenario involves a set-top box: a device that users connect to their television at home to access digital content such as streaming services or interactive applications. For this assignment, the set-top box will be emulated, meaning that a software simulation of the device will be used to reproduce how it operates and communicates with the platform. The set-top box acts as a client that connects to the IdenTV platform. Because the box has access to personal and potentially sensitive data, communication between the set-top box and the platform must be properly secured.
The assignment is therefore to design a secure IAM architecture in which the set-top box registers as a client with Curity and subsequently accesses the platform through standardised protocols such as OAuth and OpenID Connect.
What will you do?
- Set up your own Curity environment for testing and development.
- Enable end users to register their box easily and securely through a secure protocol.
- Ensure secure communication between Curity and the registered applications.
- Implement resource protection so that only authorised clients can access specific endpoints or data.
- Document the entire process and explain how it can be readily applied in a production environment.
What technical skills will you learn?
- Setting up and managing a Curity Identity Server.
- Secure communication between platforms and applications.
- Dynamic client registration
- Certificate management and mTLS.
- Working with federation protocols such as OAuth 2.0, OIDC and SAML.
- Identity and Access Management
What soft skills will you develop?
- Communication skills: reporting and documenting clearly and professionally, and collaborating with colleagues and stakeholders.
- Collaboration: working effectively within a multidisciplinary team in an agile environment.
- Problem-solving: analysing technical challenges and resolving them independently or in consultation with others.
- Self-organisation: taking responsibility for your tasks, planning and progress.
- Critical thinking: substantiating your choices and continuously improving based on feedback and evaluation.
- Customer focus: considering user needs and the business context when designing solutions.
Project Methodology
- The internship assignments follow the Scrum project methodology to provide a structured and efficient approach to tasks and subtasks.
- This reflects IdentIT’s approach to projects.
- Scrum is a flexible framework that:
- Promotes collaboration
- Encourages adaptability
- Ensures transparency.
- The work is organised into time-boxed iterations called sprints:
- Each sprint lasts 2 to 3 weeks.
- Each sprint has clear objectives and tasks.
- At the start of each sprint:
- The intern(s) and supervisor(s) hold a sprint planning session.
- The objectives are defined.
- A sprint backlog is created.
- During the sprint:
- Weekly stand-up meetings are held.
- Progress is discussed.
- Any obstacles are identified and addressed.
- At the end of each sprint:
- A sprint review is held.
- Where possible, a demo is given.
- Feedback is collected.
- Scrum contributes to a collaborative and adaptable working environment.
- The aim is to achieve the best possible results within the given timeframe.
MVP
The minimum feature set we expect is:
- A set-top box that can register
- Secure communication between the client and Curity
- Enforcement of authorisation rights based on the signed-in user to control access to specific content
Expected Outcomes
The following deliverables are expected at the end of the assignment:
- A technical analysis of the problem
- The architecture of the required components
- An implementation that meets the MVP requirements, plus any additional features
- A demo of the end-to-end solution
- Documentation

