天天看点

Go代码精选:Authentication and OAut(身份验证和OAuth)

作者:浪迹天涯的外乡人

实现身份验证方案的库。

  • authboss(https://github.com/volatiletech/authboss) Web 的模块化身份验证系统。它尝试尽可能地消除样板和“困难的事情”,以便每次您在Go 中开始一个新的Web 项目时,都可以插入它,配置它,并开始构建您的应用程序,而不必每次都构建一个身份验证系统。
  • branca(https://github.com/essentialkaos/branca) Golang 1.15+ 的branca 令牌[规范实现(https://github.com/tuupola/branca-spec)。
  • casbin(https://github.com/hsluoyz/casbin) 支持ACL、RBAC 和ABAC 等访问控制模型的授权库。
  • cookiestxt(https://github.com/mengzhuo/cookiestxt) 提供cookies.txt 文件格式的解析器。
  • go-guardian(https://github.com/shaj13/go-guardian) Go-Guardian 是一个Golang 库,提供了一个简单、清晰和惯用的方式来创建强大的现代API 和Web 身份验证,支持LDAP、Basic、Bearer Token 和基于证书的身份验证。
  • go-jose(https://github.com/go-jose/go-jose) JOSE 工作组的JSON Web Token、JSON Web 签名和JSON Web 加密规范的相当完整的实现。
  • gologin(https://github.com/dghubble/gologin) 用于OAuth1 和OAuth2 认证提供程序的可链接处理程序。
  • gorbac(https://github.com/mikespook/gorbac) 提供了一个轻量级的基于角色的访问控制(RBAC) 在Golang 中的实现。
  • gosession(http://github.com/Kwynto/gosession) 这是GoLang 中net/http 的快速会话。这个包或许是会话机制最好的实现,或者至少它试图成为一个。
  • goth(https://github.com/markbates/goth) 提供了一种简单、清晰和惯用的方式来使用OAuth 和OAuth2。支持开箱即用的多个提供程序。
  • jeff(https://github.com/abraithwaite/jeff) 具有可插拔后端的简单、灵活、安全且惯用的Web 会话管理。
  • jwt(https://github.com/pascaldekloe/jwt) 轻量级JSON Web Token (JWT) 库。
  • jwt(https://github.com/cristalhq/jwt) 为Go 提供安全、简单和快速的JSON Web Tokens。
  • jwt-auth(https://github.com/adam-hanna/jwt-auth) 带有许多配置选项的Golang http
  • jwt-go(https://github.com/golang-jwt/jwt) JSON Web Tokens(JWT)的完整实现。该库支持JWT的解析和验证,以及JWT的生成和签名。
  • keto(https://github.com/ory/keto) 开源(Go)实现“Zanzibar:Google的一致,全球授权系统”。提供gRPC、REST API、newSQL和易于使用的细粒度权限语言。支持ACL、RBAC和其他访问模型。
  • loginsrv(https://github.com/tarent/loginsrv) 可插拔的后端(如OAuth2(Github)、htpasswd、osiam)的JWT登录微服务。
  • oauth2(https://github.com/golang/oauth2) goauth2的继承者。通用的OAuth 2.0包,支持JWT、Google APIs、Compute Engine和App Engine。
  • osin(https://github.com/openshift/osin) Golang OAuth2服务器库。
  • otpgen(https://github.com/grijul/otpgen) 生成TOTP / HOTP代码的库。
  • otpgo(https://github.com/jltorresm/otpgo) 用于Go的基于时间的一次性密码(TOTP)和基于HMAC的一次性密码(HOTP)库。
  • paseto(https://github.com/o1egl/paseto) 平台无关安全令牌(PASETO)的Golang实现。
  • permissions2(https://github.com/xyproto/permissions2) 用于跟踪用户、登录状态和权限的库。使用安全cookie和bcrypt。
  • scope(https://github.com/SonicRoshan/scope) 简单管理Go中的OAuth2作用域。
  • scs(https://github.com/alexedwards/scs) 用于HTTP服务器的会话管理器。
  • securecookie(https://github.com/chmike/securecookie) 高效的安全cookie编码/解码。
  • session(https://github.com/icza/session) 用于Web服务器的Go会话管理(包括对Google App Engine-GAE的支持)。
  • sessions(https://github.com/adam-hanna/sessions) 简单易用,性能高,高度可定制的Go http服务器会话服务。
  • sessionup(https://github.com/swithek/sessionup) 简单但有效的HTTP会话管理和标识包。
  • sjwt(https://github.com/brianvoe/sjwt) 简单的jwt生成器和解析器。

更多精选请访问 Go代码精选

继续阅读