Skip to content
This repository has been archived by the owner on Nov 29, 2021. It is now read-only.

everest-engineering/lhotse-security

Repository files navigation

ARCHIVED

This was a supporting repository for Lhotse.

It has now been archived as the project has moved on and no longer relies on local user accounts.

Introduction

The security module builds on Spring Security OAuth. Out of the box, it sets up both an authorization server and a resource server (the main application) that facilitate an authentication and authorisation workflow based on OAuth2. Stateless sessions using Jason Web Tokens (JWT) makes is easy to extract microservices.

JWT tokens are issued by the authorization server which client applications include as part of the Authorization header included with every API request. The main application -- the resource server in OAuth parlance -- uses a shared secret to validate each request and enforces role based authorisation.

Our initial set up has both authorisation and resource servers running together in a single application. A single hard-coded client, web-app-ui, is configured in the authorisation server to support the password grant approach to exchanging credentials. Front end applications need to specify this identify to perform authentication & authorisation on behalf of end users.

If necessary, the authorisation server can be extracted into its own service to serve multiple resource servers. Third party OAuth2 providers can also be integrated with the resource server.

Using the module

You need to write service components that implement the interfaces AuthenticationServerUserDetailsService and ApplicationUserDetailsService. The implementations are used by the security module so that the module needn't be aware of how the users are actually stored or what attributes they contain.

License

License

License: EverestEngineering

Talk to us hi@everest.engineering.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages