Giter Site home page Giter Site logo

fdawgs / yh-sider-obfuscation-service Goto Github PK

View Code? Open in Web Editor NEW
3.0 3.0 2.0 11.89 MB

Yeovil Hospital's SIDeR contextual link obfuscation service

License: MIT License

JavaScript 97.20% Dockerfile 0.53% Shell 0.21% CSS 0.12% HTML 1.94%
docker fastify nhs nodejs pm2 rest restful somerset somersetft yeovil-hospital

yh-sider-obfuscation-service's Introduction

Well Bonjour!

๐Ÿฅ I work for a clinical software developer working with the NHS.

Previously worked within the NHS over six years across Taunton and Somerset NHSFT, Yeovil District Hospital NHSFT, and Somerset NHSFT, as an information analyst and then an interface developer.

Have a nack for automating myself out of employment.

Contact

LinkedIn icon Email icon

Stats

GitHub Stats Top Languages

yh-sider-obfuscation-service's People

Contributors

dependabot[bot] avatar fdawgs avatar github-actions[bot] avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar

yh-sider-obfuscation-service's Issues

Use CSP nonces or hashes to allow scripts individually

Prerequisites

  • I have written a descriptive title
  • I have searched existing feature requests to ensure it has not already been proposed
  • I agree to follow the Code of Conduct that this project adheres to

Description

Flagged by Lighthouse, nonces or hashes should be used in script-src and style-src directives of the Content-Security-Policy response header.

'unsafe-inline' is currently used in the CSP response header of the /docs route, which allows the execution of unsafe in-page scripts and event handlers:
https://github.com/Fdawgs/ydh-sider-obfuscation-service/blob/b91ee035fe2d8b71d1ea7097c462529f557cda21/src/server.js#L127-L128

The @fastify/helmet plugin provides an option to generate nonces and it should be possible to pass these values to the redoc object via the nonce option.

Add ability to protect service by requiring an API token being passed via query string

Prerequisites

  • I have written a descriptive title

  • I have searched existing feature requests to ensure it has not already been proposed

  • I agree to follow the Code of Conduct that this project adheres to

Description

As title states.
Should further restrict access to service.

Clinical systems in use at YDH do not allow modification of request HTTP headers in contextual links, only the query string. So cannot use bearer token auth from header.

Reduce response header bloat for non-HTML/XML files

Prerequisites

  • I have written a descriptive title

  • I have searched existing feature requests to ensure it has not already been proposed

  • I agree to follow the Code of Conduct that this project adheres to

Description

Some HTTP headers do not make sense to be sent for non-HTML/XML resources, as sending them does not provide any value to users and contributes to header bloat.

Examples include content-security-policy and x-xss-protection for the PNG images on the doc pages and for the JSON responses in the API itself.

The only CSP directive that may be of use is frame-ancestors 'none' to stop responses from being wrapped in iframes.

OpenAPI spec does not provide multiple content-types

Prerequisites

  • I have written a descriptive issue title

  • I have searched existing issues to ensure it has not already been reported

  • I agree to follow the Code of Conduct that this project adheres to

API/app/plugin version

8.0.0

Node.js version

16.14.2

Operating system

Windows

Operating system version (i.e. 20.04, 11.3, 10)

10

Description

See fastify/fastify-swagger#117

Steps to Reproduce

Navigate to /docs/openapi

Expected Behaviour

No response

Continue to redirect URL if Keycloak auth fails

Prerequisites

  • I have written a descriptive title

  • I have searched existing feature requests to ensure it has not already been proposed

  • I agree to follow the Code of Conduct that this project adheres to

Description

User should be able to continue to redirect URL and manually login, but the keycloak params will be removed from the URL.

Add rate-limiting

Is your feature request related to a problem? Please describe.
Stop staff from hammering the button in the PAS, and flooding keycloak and such with requests

Remove Swagger UI Route

Route is far too buggy, and shows up in security audits as being THE weak point too often.

Will replace with a pure OpenAPI spec route instead.

Migrate from Axios to Undici/Fetch

Prerequisites

  • I have written a descriptive title

  • I have searched existing feature requests to ensure it has not already been proposed

  • I agree to follow the Code of Conduct that this project adheres to

Description

Revisit once Node 20 is released and Undici is a bit more stable.

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.