OAuth2 authorization server allowing users to authenticate across multiple applications.
Make sure to install the following software before starting:
- Maven - A software project management and comprehension tool.
- Spring - The source for modern java.
- PostgreSQL - The World's Most Advanced open source relational database.
- NodeJS and npm - A JavaScript runtime built on Chrome's V8 JavaScript engine.
And your IDE should support Lombok.
Before executing the application you must prepare the database. There are several scripts located in src/main/resources/db/scripts. For instance test_database.sql
is required to setup the integration test database.
If you do not have a local redis cluster you might want to use a PostgreSQL token store. To prepare the database use the script jdbc_token_store.sql
.
We use Yarn for all frontend belongings.
You must install the frontend at least once before starting up the server. Otherwise it wont find the files required to server-side-render Angular. To do so either navigate into src/main/webapp and run yarn install && yarn build:dev
or run mvn clean package -Pwebpack
in the root directory.
The frontend project is located in src/main/webapp. Please use Yarn for all installation/testing etc. You can install yarn with npm, npm install -g yarn
or via maven, executing mvn package -Pwebpack
.
Navigate into the folder and take a look at the file package.json
which contains a script section. It may give you an idea about the different use cases.
Execute unit-tests by running mvn test
. They are managed by the maven-surefire-plugin.
Integration-tests start with mvn verify
using the maven-failsafe-plugin.
This project is deployed using maven. Run mvn clean install
to install the artifact into your local repository.
- Maven - A software project management and comprehension tool.
- Yarn - Fast, reliable, and secure dependency management.
- Sprint - The source for modern java.
- Angular - Clientside JavaScript web framework.
Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.
We use SemVer for versioning. For the versions available, see the tags on this repository.
- Timon Borter - Initial work - bbortt
See also the list of contributors who participated in this project.
- To swaechter for the basic idea on server-side-rendering Angular in
AngularUniversalRenderEngine.java
. Original code is in this repository.
This project is published under the terms of MIT License. For more information see the license file.