Skip to content

Latest commit

 

History

History
45 lines (32 loc) · 1.86 KB

CONTRIBUTING.md

File metadata and controls

45 lines (32 loc) · 1.86 KB

How to Contribute

We'd love to accept your patches and contributions to this project. There are just a few small guidelines you need to follow.

Code reviews

All submissions, including submissions by project members, require review. We use GitHub pull requests for this purpose. Consult GitHub Help for more information on using pull requests.

Design criteria

The library is designed to be compatible with Java 8 and up.

This library has been designed to have only minimal dependencies, in order to be very light-weight while still being compatible with the widest range of application frameworks, like Java EE or Spring Boot.

OAuth credentials handling

To keep the risk of leaking sensitive credential information, the organisation client secret and the password are not provided as String objects (see this question on StackExchange for a proper explanation why). To aid developers in properly safely processing those credentials, the com.alliander.equigy.client.oauth.sensitive package contains utility classes that automatically clear memory buffers that contains sensitive information after usage.

Please not that the organisation client secret will end up in a String object in a base64 encoded state, which might end up in a memory dump. Care has been taken to make sure the value of the password field doesn't end up in any object that lives in memory for longer than the duration of the OAuth token request.

Community Guidelines

This project follows the following Code of Conduct.

Attribution

This Conitrbuting.md is adapted from Google available at https://github.com/google/new-project/blob/master/docs/contributing.md