Giter Club home page Giter Club logo

granite's People

Contributors

joeclark-phd avatar

Watchers

 avatar

granite's Issues

implement "refresh token" flow

Authentication with REST API should issue both an access token and a refresh token. Refresh tokens should have a long expiration and there should be an endpoint you can submit the refresh token to get a new access token.

When requesting an access token, the client should also get the precise expiration date for it, so he can know when to refresh.

write automated tests of security configuration

  • test that login page works as expected
  • test that logout page works as expected
  • test that Spring default folders are NOT public (i.e. /css, /images)
  • test that my replacement for those, /public, IS public
  • test that the public can see the index page "/"
  • test that the public cannot see other pages without authentication
  • test that roles work: SUPER and AGENT
  • test that REST API authentication works the same way as Website authentication
  • test that database can be used to authenticate
  • test that password hashing and validation of hash works correctly

refine a spring security configuration

  • create a mock UserDetailsService
  • create different access levels (user, admin, etc)
  • create separate security configurations for Web and REST API endpoints
  • make sure it's fully tested
  • link it to the application's real database

refine the inelegance of the API security config

JWTAuthenticationFilter could probably be replaced by an endpoint in a RestController, and the part that extracts information from the POST may be made simpler and clearer as well.

The "refresh token" flow could then go into the same RestController.

[DepShield] (CVSS 9.8) Vulnerability due to usage of com.fasterxml.jackson.core:jackson-databind:2.9.9

Vulnerabilities

DepShield reports that this application's usage of com.fasterxml.jackson.core:jackson-databind:2.9.9 results in the following vulnerability(s):


Occurrences

com.fasterxml.jackson.core:jackson-databind:2.9.9 is a transitive dependency introduced by the following direct dependency(s):

io.jsonwebtoken:jjwt:0.9.1
        └─ com.fasterxml.jackson.core:jackson-databind:2.9.9

This is an automated GitHub Issue created by Sonatype DepShield. Details on managing GitHub Apps, including DepShield, are available for personal and organization accounts. Please submit questions or feedback about DepShield to the Sonatype DepShield Community.

Switch to testcontainers JDBC URL method

It takes over 15 lines of code to spin up a testcontainer in AgencyControllerIntegrationTest, which will have to be copied over into potentially dozens of other test cases. Using the JDBC URL method of setting up Testcontainers would be better, but I don't know if it can be done with our custom database image.

If possible, find a way to do it, preferably generating the image on the fly. If not, consider whether we can get the same result using a library image and calling our scripts some other way.

Write a first unit test

This will make sure JUnit5 is correctly specified in the POM file and that tests run when expected during the build.

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.