Documentation
¶
Index ¶
- Variables
- func GetHead(ctx context.Context, proto IProto) *common.BaseHead
- func NewDingtalkService(data *conf.Data) (*rdingtalk.DingTalkService, error)
- type AuthBiz
- func (biz *AuthBiz) Auth(ctx context.Context, req *v1.AuthReq) (*v1.AuthReply, error)
- func (biz *AuthBiz) AuthUser(handler middleware.Handler) middleware.Handler
- func (biz *AuthBiz) Callback(ctx context.Context, req *v1.CallbackReq) (*v1.UserSimple, error)
- func (biz *AuthBiz) GetPermissions(ctx context.Context, req *v1.PermissionsReq) (*v1.PermissionsReply, error)
- func (biz *AuthBiz) GetPublicContent(ctx context.Context, req *v1.PublicContentReq) (*v1.PublicContentReply, error)
- func (biz *AuthBiz) Login(ctx context.Context, req *v1.LoginReq) (*v1.User, error)
- func (biz *AuthBiz) Logout(ctx context.Context, req *v1.LogoutReq) (*v1.LogoutReply, error)
- func (biz *AuthBiz) NewWhiteListMatcher() selector.MatchFunc
- type AuthRepoI
- type AuthUser
- func (su *AuthUser) CreateAccessJwtToken(secretKey []byte) string
- func (su *AuthUser) GetAction() string
- func (su *AuthUser) GetDomain() string
- func (su *AuthUser) GetObject() string
- func (su *AuthUser) GetSubject() string
- func (su *AuthUser) ParseAccessJwtToken(claims jwtv5.Claims) error
- func (su *AuthUser) ParseAccessJwtTokenFromString(token string, secretKey []byte) error
- func (su *AuthUser) ParseFromContext(ctx context.Context, secretKey []byte) error
- type Biz
- type IProto
- type UserData
- type UserDataBiz
- type UserDataRepoI
Constants ¶
This section is empty.
Variables ¶
View Source
var ( ErrTokenInvalid = &mid.HTTPError{Msg: "token invalid", Status: int(codes.Unauthenticated)} ErrArgsInvalid = &mid.HTTPError{Msg: "args invalid", Status: int(codes.InvalidArgument)} )
View Source
var (
ErrUserNotFound = &mid.HTTPError{Msg: "user not found", Status: 400}
)
View Source
var ProviderSet = wire.NewSet(NewBiz, NewAuthBiz, NewDingtalkService)
ProviderSet is biz providers.
Functions ¶
func NewDingtalkService ¶
func NewDingtalkService(data *conf.Data) (*rdingtalk.DingTalkService, error)
Types ¶
type AuthBiz ¶
type AuthBiz struct {
// contains filtered or unexported fields
}
func NewAuthBiz ¶
func NewAuthBiz(cdata *conf.Data, repoAuth AuthRepoI, logger log.Logger, dingTalk *rdingtalk.DingTalkService, repoUserData UserDataRepoI) *AuthBiz
func (*AuthBiz) AuthUser ¶
func (biz *AuthBiz) AuthUser(handler middleware.Handler) middleware.Handler
func (*AuthBiz) Callback ¶
func (biz *AuthBiz) Callback(ctx context.Context, req *v1.CallbackReq) (*v1.UserSimple, error)
func (*AuthBiz) GetPermissions ¶
func (biz *AuthBiz) GetPermissions(ctx context.Context, req *v1.PermissionsReq) (*v1.PermissionsReply, error)
func (*AuthBiz) GetPublicContent ¶
func (biz *AuthBiz) GetPublicContent(ctx context.Context, req *v1.PublicContentReq) (*v1.PublicContentReply, error)
func (*AuthBiz) NewWhiteListMatcher ¶
NewWhiteListMatcher 创建jwt白名单
type AuthUser ¶
type AuthUser struct {
Path string
Method string
Domain string
Token string
IssTime string
AuthorityId string
}
func (*AuthUser) CreateAccessJwtToken ¶
CreateAccessJwtToken 使用给定的密钥为AuthUser创建一个JWT访问令牌。
func (*AuthUser) GetSubject ¶
func (*AuthUser) ParseAccessJwtToken ¶
ParseAccessJwtToken 从JWT Claims解析并填充到AuthUser中。
func (*AuthUser) ParseAccessJwtTokenFromString ¶
ParseAccessJwtTokenFromString 解析给定的JWT令牌字符串,并填充到AuthUser中。
type UserData ¶
type UserData struct {
Id primitive.ObjectID `json:"id" bson:"_id"`
AvatarUrl string `json:"avatar_url" bson:"avatarUrl"`
Mobile string `json:"mobile" bson:"mobile"`
Email string `json:"email" bson:"email"`
Nick string `json:"nick" bson:"nick"`
DingtalkOpenId string `json:"dingtalkOpenId" bson:"dingtalkOpenId"`
DingtalkUnionId string `json:"dingtalkUnionId" bson:"dingtalkUnionId"`
}
type UserDataBiz ¶
type UserDataBiz struct {
// contains filtered or unexported fields
}
func NewUserDataBiz ¶
func NewUserDataBiz(cdata *conf.Data, repoUserData UserDataRepoI, logger log.Logger, dingTalk *rdingtalk.DingTalkService) *UserDataBiz
type UserDataRepoI ¶
type UserDataRepoI interface {
StorageByDingTalkOpenId(user *UserData) error
FindByID(id string) (*UserData, error)
FindByDingTalkOpenId(id string) (*UserData, error)
FindByMobile(id string) (*UserData, error)
FindByEmail(id string) (*UserData, error)
}
UserDataRepoI is a Greater repo.
Click to show internal directories.
Click to hide internal directories.