2022-03-07 20:49:02 +08:00

81 lines
2.2 KiB
Go

// 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"
}