Giter Site home page Giter Site logo

boot-oauth2's Introduction

boot-oauth2

Small Project using Spring Boot OAuth2 and Okta as the IDP

Below are some links used in the making of this. The Official Okta tutorials are in Groovy + I had some issues figuring exactly what values were used based on the metadata. This is the first step on getting together an example which can pass the OAuth Token between services.

Modules

boot-oauth2-common

Contains Common config and domain classes. ClientID and Secret should be placed in the properties file in this project and are included in the others.

boot-oauth2-edge

This module is the MVC endpoint and acts as the oauth client.

The default ( / ) endpoint will display some details about the token (including the JWT Token)
The /service end point, points to the resource service running on localhost and will pass the token to this service for authentication.
The /unauthedservice points to the service with no Spring Security Enabled and returns the hard coded name of the service.

It runs on port 8080 and should run with the spring profile fe.

boot-oauth2-resource

A service application which is setup as an OAuth2 resource server. Expects the Token to be supplied and uses that to load the user's details from the Authentication Service.

It runs on port 8082 and should run with the spring profile service.

boot-oauth2-service-unauthed

A service application which doesn't include any security setup. Useful to check linking a service to the edge. It runs on port 8082 and should run with the spring profile service.

Diagram

alt text

Next Steps

  • Create a new Service that can act as both an OAuth Client and a Resource Service. This involves adding the both sets of filters to the HTTP Stack.
  • Add the ability to run another resource service which is registered as a seperate application, but which can use the same credentials (and Tokens)

boot-oauth2's People

Contributors

dependabot[bot] avatar peteclarkez avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar

Forkers

lowebb

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.