All Projects → dpotapov → go-spnego

dpotapov / go-spnego

Licence: MIT license
Wraps gokrb5 and sspi libraries to provide cross-platform way to make HTTP calls with Kerberos authentication

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to go-spnego

nsspi
A C# / .Net interface to the Win32 SSPI authentication API
Stars: ✭ 60 (+200%)
Mutual labels:  sso, kerberos, sspi
proxyplease
Cross-platform proxy selection with optional native authentication negotiation
Stars: ✭ 37 (+85%)
Mutual labels:  kerberos, sspi
OpenAM
OpenAM is an open access management solution that includes Authentication, SSO, Authorization, Federation, Entitlements and Web Services Security.
Stars: ✭ 476 (+2280%)
Mutual labels:  sso, kerberos
active-directory-integration2
WordPress plug-in "Next Active Directory Integration"
Stars: ✭ 51 (+155%)
Mutual labels:  sso, kerberos
keycloak-protocol-cas
CAS protocol provider for Keycloak
Stars: ✭ 67 (+235%)
Mutual labels:  sso
aws-sso-creds-helper
A command line util for using SSO credentials with AWS SDK on AWS CLI v2 until native support is released
Stars: ✭ 34 (+70%)
Mutual labels:  sso
single-sign-on-out-jwt-cookie-redis-java-springboot-freemarker
Single Sign Out, Scalable Authentication Example with JSON Web Token (JWT), Spring Boot and Redis
Stars: ✭ 15 (-25%)
Mutual labels:  sso
cdk-multi-profile-plugin
Adds multi profile/account, mfa and aws sso support to cdk apps
Stars: ✭ 41 (+105%)
Mutual labels:  sso
wordpress-vanilla
Official WordPress plugin for Vanilla Forums integration.
Stars: ✭ 18 (-10%)
Mutual labels:  sso
sso-examples
Single Sign-On (SSO) examples for Metabase integration
Stars: ✭ 39 (+95%)
Mutual labels:  sso
oauth2
A standalone OAuth2 & SSO server based on go-oauth2
Stars: ✭ 107 (+435%)
Mutual labels:  sso
jupyterhub-kdcauthenticator
A Kerberos authenticator module for the JupyterHub platform
Stars: ✭ 22 (+10%)
Mutual labels:  kerberos
vault-plugin-auth-kerberos
[DEPRECATED] Plugin for Hashicorp Vault enabling Kerberos authentication
Stars: ✭ 36 (+80%)
Mutual labels:  kerberos
spid-keycloak-provider
Italian SPID authentication provider for Keycloak (https://www.keycloak.org/)
Stars: ✭ 48 (+140%)
Mutual labels:  sso
QrF.Core
基于.net core 2.2 的微服务框架
Stars: ✭ 19 (-5%)
Mutual labels:  sso
docker-kdc
Docker container generator for a Kerberos KDC.
Stars: ✭ 46 (+130%)
Mutual labels:  kerberos
laravel-sso-passport
[DEPRECATED] A simple SSO (Single Sign On) system using the Laravel Framework with Passport API Authentication
Stars: ✭ 27 (+35%)
Mutual labels:  sso
wp-simple-saml
WordPress Simple SAML plugin
Stars: ✭ 73 (+265%)
Mutual labels:  sso
vacomall
☀️☀️ 基于 dubbo 实现的分布式电商平台。
Stars: ✭ 42 (+110%)
Mutual labels:  sso
python-krbcontext
A Kerberos context manager
Stars: ✭ 23 (+15%)
Mutual labels:  kerberos

go-spnego

The package extends Go's HTTP Transport allowing Kerberos authentication through Negotiate mechanism (see RFC4559).

Internally it is implemented by wrapping 2 libraries: gokrb5 on Linux and sspi on Windows.

There is no pre-authenticaion yet, so the library assumes you have Kerberos ticket obtained.

Linux implementation requires MIT or Heimdal Kerberos to be present. Windows implementation utilizes credentials of currently logged in user.

Currently it allows only to make HTTP calls, no server side support yet.

Installation

go get github.com/dpotapov/go-spnego

Usage example

import "github.com/dpotapov/go-spnego"
...
c := &http.Client{
    Transport: &spnego.Transport{},
}

resp, err := c.Get("http://kerberized.service.com/")

Configuration

Windows: no configuration options.

Linux:

  • KRB5_CONFIG - path to configuration file in MIT Kerberos format. Default is /etc/krb5.conf.
  • KRB5CCNAME - path to credential cache in the form type:residual. Only FILE: type is supported. Default is FILE:/tmp/krb5cc_$(id -u)
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].