d621548120
Implement the Auth interface, with JWT and service implementations. * Update Auth Interface * Define Auth Service Implementation * Support Service Auth * Add Auth Service Proto * Remove erronious files * Implement Auth Service Package * Update Auth Interface * Update Auth Interface. Add Validate, remove Add/Remove roles * Make Revoke interface more explicit * Refactor serializing and deserializing service accounts * Fix srv name & update interface to be more explicit * Require jwt public key for auth * Rename Variables (Resource.ID => Resource.Name & ServiceAccount => Account) * Implement JWT Auth Package * Remove parent, add ID * Update auth imports to v2. Add String() to auth interface
126 lines
3.6 KiB
Go
126 lines
3.6 KiB
Go
// Code generated by protoc-gen-micro. DO NOT EDIT.
|
|
// source: auth/service/proto/auth.proto
|
|
|
|
package go_micro_auth
|
|
|
|
import (
|
|
fmt "fmt"
|
|
proto "github.com/golang/protobuf/proto"
|
|
math "math"
|
|
)
|
|
|
|
import (
|
|
context "context"
|
|
client "github.com/micro/go-micro/client"
|
|
server "github.com/micro/go-micro/server"
|
|
)
|
|
|
|
// Reference imports to suppress errors if they are not otherwise used.
|
|
var _ = proto.Marshal
|
|
var _ = fmt.Errorf
|
|
var _ = math.Inf
|
|
|
|
// This is a compile-time assertion to ensure that this generated file
|
|
// is compatible with the proto package it is being compiled against.
|
|
// A compilation error at this line likely means your copy of the
|
|
// proto package needs to be updated.
|
|
const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
|
|
|
|
// Reference imports to suppress errors if they are not otherwise used.
|
|
var _ context.Context
|
|
var _ client.Option
|
|
var _ server.Option
|
|
|
|
// Client API for Auth service
|
|
|
|
type AuthService interface {
|
|
Generate(ctx context.Context, in *GenerateRequest, opts ...client.CallOption) (*GenerateResponse, error)
|
|
Validate(ctx context.Context, in *ValidateRequest, opts ...client.CallOption) (*ValidateResponse, error)
|
|
Revoke(ctx context.Context, in *RevokeRequest, opts ...client.CallOption) (*RevokeResponse, error)
|
|
}
|
|
|
|
type authService struct {
|
|
c client.Client
|
|
name string
|
|
}
|
|
|
|
func NewAuthService(name string, c client.Client) AuthService {
|
|
if c == nil {
|
|
c = client.NewClient()
|
|
}
|
|
if len(name) == 0 {
|
|
name = "go.micro.auth"
|
|
}
|
|
return &authService{
|
|
c: c,
|
|
name: name,
|
|
}
|
|
}
|
|
|
|
func (c *authService) Generate(ctx context.Context, in *GenerateRequest, opts ...client.CallOption) (*GenerateResponse, error) {
|
|
req := c.c.NewRequest(c.name, "Auth.Generate", in)
|
|
out := new(GenerateResponse)
|
|
err := c.c.Call(ctx, req, out, opts...)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return out, nil
|
|
}
|
|
|
|
func (c *authService) Validate(ctx context.Context, in *ValidateRequest, opts ...client.CallOption) (*ValidateResponse, error) {
|
|
req := c.c.NewRequest(c.name, "Auth.Validate", in)
|
|
out := new(ValidateResponse)
|
|
err := c.c.Call(ctx, req, out, opts...)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return out, nil
|
|
}
|
|
|
|
func (c *authService) Revoke(ctx context.Context, in *RevokeRequest, opts ...client.CallOption) (*RevokeResponse, error) {
|
|
req := c.c.NewRequest(c.name, "Auth.Revoke", in)
|
|
out := new(RevokeResponse)
|
|
err := c.c.Call(ctx, req, out, opts...)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
return out, nil
|
|
}
|
|
|
|
// Server API for Auth service
|
|
|
|
type AuthHandler interface {
|
|
Generate(context.Context, *GenerateRequest, *GenerateResponse) error
|
|
Validate(context.Context, *ValidateRequest, *ValidateResponse) error
|
|
Revoke(context.Context, *RevokeRequest, *RevokeResponse) error
|
|
}
|
|
|
|
func RegisterAuthHandler(s server.Server, hdlr AuthHandler, opts ...server.HandlerOption) error {
|
|
type auth interface {
|
|
Generate(ctx context.Context, in *GenerateRequest, out *GenerateResponse) error
|
|
Validate(ctx context.Context, in *ValidateRequest, out *ValidateResponse) error
|
|
Revoke(ctx context.Context, in *RevokeRequest, out *RevokeResponse) error
|
|
}
|
|
type Auth struct {
|
|
auth
|
|
}
|
|
h := &authHandler{hdlr}
|
|
return s.Handle(s.NewHandler(&Auth{h}, opts...))
|
|
}
|
|
|
|
type authHandler struct {
|
|
AuthHandler
|
|
}
|
|
|
|
func (h *authHandler) Generate(ctx context.Context, in *GenerateRequest, out *GenerateResponse) error {
|
|
return h.AuthHandler.Generate(ctx, in, out)
|
|
}
|
|
|
|
func (h *authHandler) Validate(ctx context.Context, in *ValidateRequest, out *ValidateResponse) error {
|
|
return h.AuthHandler.Validate(ctx, in, out)
|
|
}
|
|
|
|
func (h *authHandler) Revoke(ctx context.Context, in *RevokeRequest, out *RevokeResponse) error {
|
|
return h.AuthHandler.Revoke(ctx, in, out)
|
|
}
|