timandy / go-auth0

auth0 sdk

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Auth0 Go SDK

GoDoc License Release Tests Codecov


Go client library for the Auth0 platform.

Note: This SDK was previously maintained under go-auth0/auth0.


Table of Contents


Installation

go get github.com/timandy/go-auth0

[table of contents]

Documentation

Reference documentation can be found at pkg.go.dev. For more information about Auth0 please visit the Auth0 Docs page and the Auth0 Management API Docs.

[table of contents]

Usage

import (
	"github.com/timandy/go-auth0"
	"github.com/timandy/go-auth0/management"
)

Initialize a new client using a domain, client ID and secret.

m, err := management.New(domain, management.WithClientCredentials(id, secret))
if err != nil {
	// handle err
}

With the management client we can now interact with the Auth0 Management API.

c := &management.Client{
	Name:        auth0.String("Client Name"),
	Description: auth0.String("Long description of client"),
}

err = m.Client.Create(c)
if err != nil {
	// handle err
}

fmt.Printf("Created client %s\n", c.ClientID)

The following Auth0 resources are supported:

[table of contents]

Testing

To run the tests use the make test command. This will make use of pre-recorded http interactions found in the recordings folder. To add new recordings run the tests against an Auth0 tenant individually using the following env var AUTH0_HTTP_RECORDINGS=on.

To run the tests against an Auth0 tenant, use the make test-e2e command. Start by creating an M2M app in the tenant, that has been authorized to call the Management API and has all the required permissions.

Then create a local .env file in the management folder with the following settings:

  • AUTH0_DOMAIN: The Domain of the M2M app
  • AUTH0_CLIENT_ID: The Client ID of the M2M app
  • AUTH0_CLIENT_SECRET: The Client Secret of the M2M app
  • AUTH0_DEBUG: Set to true to call the Management API in debug mode, which dumps the HTTP requests and responses to the output

[table of contents]

What is Auth0?

Auth0 helps you to:

  • Add authentication with multiple authentication sources, either social like Google, Facebook, Microsoft Account, LinkedIn, GitHub, Twitter, Box, Salesforce, amont others, or enterprise identity systems like Windows Azure AD, Google Apps, Active Directory, ADFS or any SAML Identity Provider.
  • Add authentication through more traditional username/password databases.
  • Add support for linking different user accounts with the same user.
  • Support for generating signed Json Web Tokens to call your APIs and flow the user identity securely.
  • Analytics of how, when and where users are logging in.
  • Pull data from other sources and add it to the user profile, through JavaScript rules.

[table of contents]

Create a free Auth0 Account

  1. Go to Auth0 and click "Try Auth0 for Free".
  2. Use Google, GitHub or Microsoft Account to login.

[table of contents]

Issue Reporting

If you have found a bug or if you have a feature request, please report them at this repository issues section. Please do not report security vulnerabilities on the public GitHub issue tracker. The Responsible Disclosure Program details the procedure for disclosing security issues.

[table of contents]

Author

Auth0

[table of contents]

License

This project is licensed under the MIT license. See the LICENSE file for more info.

[table of contents]

About

auth0 sdk

License:MIT License


Languages

Language:Go 99.4%Language:Shell 0.3%Language:Makefile 0.3%