The reimplemented OIDC (OpenID Connect) library, based on the zitadel/oidc library, includes both client (RP) and (OP) functionality. It is easier to use and more extensible than the original zitadel/oidc library. This library appears to be very useful, especially for applications that need to implement the OIDC standard.
Go to file
xsl 96a41bf0db update IOIDCClient interface
Naming of repair methods
2023-06-06 13:15:04 +08:00
constant First submission of code 2023-06-02 10:32:29 +08:00
ecode edit README.md 2023-06-05 11:16:23 +08:00
example edit README.md 2023-06-05 11:16:23 +08:00
log First submission of code 2023-06-02 10:32:29 +08:00
model edit README.md 2023-06-05 11:16:23 +08:00
rp update IOIDCClient interface 2023-06-06 13:15:04 +08:00
storage First submission of code 2023-06-02 10:32:29 +08:00
util edit README.md 2023-06-05 11:16:23 +08:00
.gitignore First submission of code 2023-06-02 10:32:29 +08:00
authorize.go First submission of code 2023-06-02 10:32:29 +08:00
authorizecallback.go First submission of code 2023-06-02 10:32:29 +08:00
config.go edit README.md 2023-06-05 11:16:23 +08:00
discovery.go First submission of code 2023-06-02 10:32:29 +08:00
discoveryjwks.go First submission of code 2023-06-02 10:32:29 +08:00
endsession.go First submission of code 2023-06-02 10:32:29 +08:00
go.mod First submission of code 2023-06-02 10:32:29 +08:00
go.sum First submission of code 2023-06-02 10:32:29 +08:00
granttype_client_credentials_exchange.go First submission of code 2023-06-02 10:32:29 +08:00
granttype_code_exchange.go First submission of code 2023-06-02 10:32:29 +08:00
granttype_device_code_exchange.go First submission of code 2023-06-02 10:32:29 +08:00
granttype_exchange.go update IOIDCClient interface 2023-06-06 13:15:04 +08:00
granttype_implicit_exchange.go First submission of code 2023-06-02 10:32:29 +08:00
granttype_jwtbearer_exchange.go First submission of code 2023-06-02 10:32:29 +08:00
granttype_refreshToken_exchange.go First submission of code 2023-06-02 10:32:29 +08:00
granttype_token_exchange.go First submission of code 2023-06-02 10:32:29 +08:00
introspection.go First submission of code 2023-06-02 10:32:29 +08:00
LICENSE First submission of code 2023-06-02 10:50:02 +08:00
NOTICE edit README.md 2023-06-05 11:16:23 +08:00
op.go edit README.md 2023-06-05 11:16:23 +08:00
option.go First submission of code 2023-06-02 10:32:29 +08:00
README.md update IOIDCClient interface 2023-06-06 13:15:04 +08:00
revoketoken.go First submission of code 2023-06-02 10:32:29 +08:00
token.go First submission of code 2023-06-02 10:32:29 +08:00
userinfo.go First submission of code 2023-06-02 10:32:29 +08:00

OpenID Connect SDK (client and server) for Go

license release

X-OIDC Introduction

The reimplemented OIDC (OpenID Connect) library, based on the zitadel/oidc library, includes both client (RP) and (OP) functionality.
It is easier to use and more extensible than the original zitadel/oidc library. This library appears to be very useful, especially for applications that need to implement the OIDC standard.
Have you already used this library in your application? If you have any questions or need further assistance, please let me know.

Basic Overview

The most important packages of the library:

/ecode   Definition and Implementation of Error Message Optimization
/log     Definition and Implementation of  Logger
/rp      definition and implementation of an OIDC Relying Party (client) 
/example
    /client RP demonstrating authorization code flow using various authentication methods (code, PKCE, JWT profile)
    /server examples of an OpenID Provider implementations (including dynamic) with some very basic login UI
op.go   definition and implementation of an OIDC OpenID Provider (server)

Third-party Library

The library primarily depends on the third-party library "go-jose/v3".
The HTTP processing section uses an interface-based approach , which can be extended as needed.
When starting OP, implement Config.OpenIDWrapper. By default, github. com/xslass/x-oidc/example/server/httpwrapper can be used. Implementation based on net/HTTP.

	github.com/go-jose/go-jose/v3 v3.0.0
	github.com/google/uuid v1.3.0
	golang.org/x/text v0.9.0

Special thanks to zitadel/oidc. This project referred to the redesign and implementation of interface functions for zitadel/oidc.

Contributors

Screen with contributors' avatars from contrib.rocks

Made with contrib.rocks.