Challenge Overview
CHALLENGE OBJECTIVES
-
Develop some APIs to work with WSO2 identity server
TECHNOLOGY STACK
-
Java 11
-
Spring 5.2.8
-
Spring Boot 2.3.3
-
Spring Security 5.3.5
-
REST
-
MySQL (if needed)
REQUIREMENTS
The following common and generic requirements must all be followed:
-
The purpose of this challenge is to develop some APIs to work with the WSO2 identity server, we’ll provide some documentation on WSO2 configuration but you may have to figure out more details to make this work.
-
Please document in details how to set up and configure WSO2 to work with your API
-
The submission must implement the following endpoints for interacting with WSO2:
-
Login (via OAuth)
-
The generated JWT token should have a validity of 10 mins
-
-
Logout
-
Refresh token
-
Reset Password (password recovery)
-
Recover username
-
Unlock account, this probably involves at least 2 endpoints:
-
One to get the list of challenge questions
-
Another to send the answers to unlock the account
-
-
-
These should be implemented as REST services, and you are free to define the endpoints and data model, as long as they work properly with WSO2
-
Please use com.cyn.wso2.poc as the root package name
-
Licenses to be followed in development:
-
Apache License 2.0
-
MIT License
-
Common Development and Distribution License
-
Eclipse Public License version 2.0
-
-
Reference
-
Docker: https://hub.docker.com/r/wso2/wso2is
-
Following this page you’ll be able to get WSO2 running locally in a few mins
-
-
Some documents around WSO2 are posted in the forum.
-
Final Submission Guidelines
-
Full code that covers all the requirements.
-
A detailed README file including information on how to configure, run, and verify your application.
-
Maven script(s) that can be used to build and run the services locally
-
Postman collection file to properly test the API (covering positive and negative cases).