Thanks to visit codestin.com
Credit goes to github.com

Skip to content

YeFatBoy/gin-server

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Gin OAuth 2.0 Server

Using Gin framework implementation OAuth 2.0 services

License ReportCard GoDoc

Quick Start

Download and install

$ go get -u github.com/go-oauth2/gin-server

Create file server.go

package main

import (
	"net/http"

	"github.com/gin-gonic/gin"
	"github.com/go-oauth2/gin-server"
	"gopkg.in/oauth2.v3/manage"
	"gopkg.in/oauth2.v3/store"
)

func main() {
	manager := manage.NewDefaultManager()
	manager.MustTokenStorage(store.NewMemoryTokenStore())
	manager.MapClientStorage(store.NewTestClientStore())

	// Initialize the oauth2 service
	server.InitServer(manager)
	server.SetAllowGetAccessRequest(true)

	g := gin.Default()
	g.GET("/token", server.HandleTokenRequest)
	api := g.Group("/api")
	{
		api.Use(server.TokenAuth(func(c *gin.Context) string {
			return c.Query("access_token")
		}))
		api.GET("/test", func(c *gin.Context) {
			ti, _ := c.Get("Token")
			c.JSON(http.StatusOK, ti)
		})
	}

	g.Run(":9096")
}

Build and run

$ go build server.go
$ ./server

Open in your web browser

The token information

http://localhost:9096/token?grant_type=client_credentials&client_id=1&client_secret=11&scope=read
{
    "access_token": "ZF1M7NKDNWUUX2TCDIMZZG",
    "expires_in": 7200,
    "scope": "read",
    "token_type": "Bearer"
}

The authentication token

http://localhost:9096/api/test?access_token=ZF1M7NKDNWUUX2TCDIMZZG

MIT License

Copyright (c) 2016 Lyric

About

Using Gin framework implementation OAuth 2.0 services

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 100.0%