Popularity
0.8
Declining
Activity
0.0
Stable
3
4
0

Description

This is a ported project from OAuth2 Provider that had been written in Node.js with some additional features.

Programming language: Go
License: GNU General Public License v3.0 or later
Tags: API     REST     Security     Authentication & OAuth    
Latest version: v0.2.4

go-oauth2 alternatives and similar packages

Based on the "Authentication & OAuth" category.
Alternatively, view go-oauth2 alternatives based on common mentions on social networks and blogs.

Do you think we are missing an alternative of go-oauth2 or a related project?

Add another 'Authentication & OAuth' Package

README

go-oauth2

OAuth2 Provider library written in Go

This is a ported project from OAuth2 Provider that had been written in Node.js with some additional features.

  • Pure implementation in GoLang.
  • Current implementation only supports password_flow & refresh_token_flow.
  • Use JWT.
  • Default buildin with MongoDB.
  • Allow to customize the server.

Example Server

package main

import (
    "fmt"

    "github.com/phuc0302/go-oauth2"
    "github.com/phuc0302/go-oauth2/oauth_key"
    "github.com/phuc0302/go-oauth2/oauth_role"
    "github.com/phuc0302/go-server"
    "github.com/phuc0302/go-server/util"
)

func main() {
    // Initialize server with sandbox mode enable and using MongoDB.
    oauth2.InitializeWithMongoDB(true, true)

    // Define handler
    f := func(c *server.RequestContext) {
        if s, ok := c.GetExtra(oauthKey.Context).(oauth2.OAuthContext); ok {
            c.OutputText(util.Status200(), fmt.Sprintf("Hello, your ID is: %s", s.User.UserID()))
        } else {
            panic(util.Status401())
        }
    }

    // Bind handler with HTTP GET
    oauth2.BindGet("/protected", oauthRole.All(), f)

    // Start server
    oauth2.Run()
}

Author

Phuc, Tran Huu [email protected]