We want to make contributing to this project as easy and transparent as possible, whether it's:
- Reporting a bug
- Discussing the current state of the code
- Submitting a fix
- Proposing new features
- Becoming a maintainer
Please read the Code of Conduct document.
We use GitHub to host code, to track issues and feature requests, as well as accept pull requests.
We Use Github Flow, So All Code Changes Happen Through Pull Requests
Pull requests are the best way to propose changes to the codebase (we use GitHub Flow). We actively welcome your pull requests:
- Fork the repo and create your branch from
master
. - If you've added code that should be tested, add tests.
- If you've changed/added APIs, update the documentation.
- Ensure the test suite passes.
- Make sure your code lints.
- Issue that pull request!
Report bugs using GitHub's issues
We use GitHub issues to track public bugs. Report a bug by opening a new issue; it's that easy!
We use SemVer for versioning. For the versions available, see the tags on this repository.
- Follow Effective Go and Code Review Comments Guide from the Go project as much as possible within reason.
- All library code is linted using golangci-lint on every commit.
- Unit tests are run on every commit.
- Steven Weathers - Initial work
See also the list of contributors who participated in this project.
In short, when you submit code changes, your submissions are understood to be under the same Apache 2.0 License that covers the project. Feel free to contact the maintainers if that's a concern.
By contributing, you agree that your contributions will be licensed under Apache 2.0.
- IMS Global for their thorough LTI 1.3 spec documentation.
- github.com/lestrrat-go/jwx for an awesome JWK/JWT library.
- github.com/mitchellh/mapstructure for a convenient
map[string]interface{}
toStruct
utility.