Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/authelia/oauth2-client
Authelia OAuth 2.0 Framework (Client Role)
https://github.com/authelia/oauth2-client
Last synced: about 1 month ago
JSON representation
Authelia OAuth 2.0 Framework (Client Role)
- Host: GitHub
- URL: https://github.com/authelia/oauth2-client
- Owner: authelia
- License: bsd-3-clause
- Created: 2023-12-13T08:10:39.000Z (about 1 year ago)
- Default Branch: master
- Last Pushed: 2023-12-25T06:42:26.000Z (about 1 year ago)
- Last Synced: 2024-02-24T16:45:03.518Z (11 months ago)
- Language: Go
- Homepage:
- Size: 900 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# OAuth2 for Go
[![Go Reference](https://pkg.go.dev/badge/authelia.com/client/oauth2.svg)](https://pkg.go.dev/authelia.com/client/oauth2)
oauth2 package contains a client implementation for OAuth 2.0 spec. This is a fork of `golang.org/x/oauth2`. We
graciously acknowledge and appreciate the hard work of the go maintainers for producing this package and hope to do it
justice in the future.## Differences
Several differences or intended differences exist between this package and the go maintained package.
- Update go version support:
- [x] Module version go 1.21.
- [x] Supported version go 1.20 or newer.
- Remove deprecated usage:
- [x] Usage of `io/ioutil` package.
- [x] Usage and existence of `oauth2.NoContext`.
- [x] Existence of `oauth2.RegisterBrokenAuthHeaderProvider`.
- [x] Support for appengine gen1.
- Move packages:
- [x] Move `golang.org/x/oauth2` to `authelia.com/client/oauth2`.
- [x] Move and no longer export the `golang.org/x/oauth2/jws` package to `authelia.com/client/oauth2/internal/jws`.
- [x] Move and no longer export the `golang.org/x/oauth2/jwt` package to `authelia.com/client/oauth2/internal/jwt`.
- Remove packages:
- [x] Endpoint specific packages.
- Add support for:
- [ ] [JWT Secured Authorization Response Mode for OAuth 2.0](https://openid.net/specs/oauth-v2-jarm.html) (JARM) implementation.
- [ ] [OpenID Connect 1.0 Discovery](https://openid.net/specs/openid-connect-discovery-1_0.html) implementation.
- [ ] [RFC7662: OAuth 2.0 Token Introspection](https://datatracker.ietf.org/doc/html/rfc7662)
- [x] [RFC7009: OAuth 2.0 Token Revocation](https://datatracker.ietf.org/doc/html/rfc7009)
- [ ] [RFC8414: OAuth 2.0 Authorization Server Metadata](https://datatracker.ietf.org/doc/html/rfc8414)
- [x] [RFC9126: OAuth 2.0 Pushed Authorization Requests (PAR)](https://datatracker.ietf.org/doc/html/rfc9126)
- [ ] [RFC7523: OAuth 2.0 JWT Profile for Client Authentication and Authorization Grants](https://datatracker.ietf.org/doc/html/rfc7523)
- [ ] [RFC7521: OAuth 2.0 Assertion Framework for Client Authentication and Authorization Grants](https://datatracker.ietf.org/doc/html/rfc7521)
- [ ] [RFC9207: OAuth 2.0 Authorization Server Issuer Identification](https://datatracker.ietf.org/doc/html/rfc9207)
- [ ] [RFC9101: OAuth 2.0 JWT-Secured Authorization Request (JAR)](https://datatracker.ietf.org/doc/html/rfc9101)
- [ ] [OAuth 2.0 JWT-Secured Authorization Response Mode](https://openid.net/specs/oauth-v2-jarm.html)
- Leverage well maintained packages:
- [ ] JWS/JWT package.
- Add tenant/server based providers/endpoints:
- [x] Authelia
- Miscellaneous:
- [ ] Create module shared between client and provider.## Installation
~~~~
go get authelia.com/client/oauth2
~~~~Or you can manually git clone the repository to
`$(go env GOPATH)/src/authelia.com/client/oauth2`.See pkg.go.dev for further documentation and examples.
* [pkg.go.dev/authelia.com/client/oauth2](https://pkg.go.dev/authelia.com/client/oauth2)
* [pkg.go.dev/authelia.com/client/oauth2/google](https://pkg.go.dev/authelia.com/client/oauth2/google)## Policy for new endpoints
We no longer accept new provider-specific packages in this repo if all
they do is add a single endpoint variable. If you just want to add a
single endpoint, add it to the
[pkg.go.dev/authelia.com/client/oauth2/endpoints](https://pkg.go.dev/authelia.com/client/oauth2/endpoints)
package._**Addendum:** Authelia has removed these legacy endpoint packages and is not backwards compatible with this element of
the go maintained package._## Report Issues / Send Patches
The main issue tracker for the oauth2 repository is located at
https://github.com/authelia/client-oauth2/issues.