github.com/infraboard/keyauth@v0.8.1/apps/token/http/http.go (about)

     1  package http
     2  
     3  import (
     4  	"github.com/infraboard/mcube/app"
     5  	"github.com/infraboard/mcube/http/router"
     6  
     7  	"github.com/infraboard/keyauth/apps/token"
     8  )
     9  
    10  var (
    11  	api = &handler{}
    12  )
    13  
    14  type handler struct {
    15  	service token.ServiceServer
    16  }
    17  
    18  // Registry 注册HTTP服务路由
    19  func (h *handler) Registry(router router.SubRouter) {
    20  	r := router.ResourceRouter("token")
    21  
    22  	r.BasePath("/oauth2/tokens")
    23  	r.Handle("POST", "/", h.IssueToken).DisableAuth()
    24  	r.Handle("GET", "/", h.ValidateToken)
    25  	r.Handle("DELETE", "/", h.RevolkToken)
    26  
    27  	r.BasePath("/self/tokens")
    28  	r.Handle("GET", "/", h.QueryToken)
    29  	r.Handle("POST", "/", h.ChangeNamespace)
    30  	r.Handle("DELETE", "/", h.DeleteToken)
    31  }
    32  
    33  func (h *handler) Config() error {
    34  	h.service = app.GetGrpcApp(token.AppName).(token.ServiceServer)
    35  	return nil
    36  }
    37  
    38  func (h *handler) Name() string {
    39  	return token.AppName
    40  }
    41  
    42  func init() {
    43  	app.RegistryHttpApp(api)
    44  }