add goa examples
This commit is contained in:
80
go/goa_example/gen/service1/service.go
Normal file
80
go/goa_example/gen/service1/service.go
Normal file
@@ -0,0 +1,80 @@
|
||||
// Code generated by goa v3.6.0, DO NOT EDIT.
|
||||
//
|
||||
// Service1 service
|
||||
//
|
||||
// Command:
|
||||
// $ goa gen goa_example/design
|
||||
|
||||
package service1
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"goa.design/goa/v3/security"
|
||||
)
|
||||
|
||||
// The secured service exposes endpoints that require valid authorization
|
||||
// credentials.
|
||||
type Service interface {
|
||||
// Signin implements signin.
|
||||
Signin(context.Context, *SigninPayload) (res *Creds, err error)
|
||||
// 这是一个需要JWT认证的接口
|
||||
Secure(context.Context, *SecurePayload) (res string, err error)
|
||||
}
|
||||
|
||||
// Auther defines the authorization functions to be implemented by the service.
|
||||
type Auther interface {
|
||||
// BasicAuth implements the authorization logic for the Basic security scheme.
|
||||
BasicAuth(ctx context.Context, user, pass string, schema *security.BasicScheme) (context.Context, error)
|
||||
// JWTAuth implements the authorization logic for the JWT security scheme.
|
||||
JWTAuth(ctx context.Context, token string, schema *security.JWTScheme) (context.Context, error)
|
||||
}
|
||||
|
||||
// ServiceName is the name of the service as defined in the design. This is the
|
||||
// same value that is set in the endpoint request contexts under the ServiceKey
|
||||
// key.
|
||||
const ServiceName = "Service1"
|
||||
|
||||
// MethodNames lists the service method names as defined in the design. These
|
||||
// are the same values that are set in the endpoint request contexts under the
|
||||
// MethodKey key.
|
||||
var MethodNames = [2]string{"signin", "secure"}
|
||||
|
||||
// Creds is the result type of the Service1 service signin method.
|
||||
type Creds struct {
|
||||
// JWT token
|
||||
JWT string
|
||||
// API Key
|
||||
APIKey string
|
||||
// OAuth2 token
|
||||
OauthToken string
|
||||
}
|
||||
|
||||
// SecurePayload is the payload type of the Service1 service secure method.
|
||||
type SecurePayload struct {
|
||||
// Whether to force auth failure even with a valid JWT
|
||||
Fail *bool
|
||||
// JWT used for authentication
|
||||
Token string
|
||||
}
|
||||
|
||||
// Credentials used to authenticate to retrieve JWT token
|
||||
type SigninPayload struct {
|
||||
// Username used to perform signin
|
||||
Username string
|
||||
// Password used to perform signin
|
||||
Password string
|
||||
}
|
||||
|
||||
// Credentials are invalid
|
||||
type Unauthorized string
|
||||
|
||||
// Error returns an error description.
|
||||
func (e Unauthorized) Error() string {
|
||||
return "Credentials are invalid"
|
||||
}
|
||||
|
||||
// ErrorName returns "unauthorized".
|
||||
func (e Unauthorized) ErrorName() string {
|
||||
return "unauthorized"
|
||||
}
|
||||
Reference in New Issue
Block a user