Documentation
¶
Index ¶
Constants ¶
View Source
const ( // AdminWebApplicationName 颁发给后台管理Web端的凭证 AdminWebApplicationName = "admin-web" // AdminServiceApplicationName 颁发给服务管理的应用凭证 AdminServiceApplicationName = "admin-micro" )
View Source
const ( // DefaultAccessTokenExpireSecond token默认过期时长 DefaultAccessTokenExpireSecond = 3600 // DefaultRefreshTokenExpiredSecond 刷新token默认过期时间 DefaultRefreshTokenExpiredSecond = DefaultAccessTokenExpireSecond * 4 )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AdminInterface ¶
type AdminInterface interface {
CreateBuildInApplication(req *CreateApplicatonRequest) (*Application, error)
GetBuildInApplication(name string) (*Application, error)
}
AdminInterface todo
type Application ¶
type Application struct {
ID string `bson:"_id" json:"id,omitempty"` // 唯一ID
BuildIn bool `bson:"build_in" json:"build_in"` // 是否是内建应用
DomainID string `bosn:"domain_id" json:"domain_id,omitempty"` // 所处于域
UserID string `bson:"user_id" json:"user_id,omitempty"` // 应用属于那个用户
CreateAt ftime.Time `bson:"create_at" json:"create_at,omitempty"` // 应用创建的时间
UpdateAt ftime.Time `bson:"update_at" json:"update_at,omitempty"` // 应用更新的时间
ClientID string `bson:"client_id" json:"client_id,omitempty"` // 应用客户端ID
ClientSecret string `bson:"client_secret" json:"client_secret,omitempty"` // 应用客户端秘钥
Locked bool `bson:"locked" json:"locked,omitempty"` // 是否冻结应用, 冻结应用后, 该应用无法通过凭证获取访问凭证(token)
*CreateApplicatonRequest `bson:",inline"`
}
Application is oauth2's client: https://tools.ietf.org/html/rfc6749#section-2
func NewBuildInApplication ¶
func NewBuildInApplication(userID string, req *CreateApplicatonRequest) (*Application, error)
NewBuildInApplication 构建内建应用
func NewUserApplicartion ¶
func NewUserApplicartion(userID string, req *CreateApplicatonRequest) (*Application, error)
NewUserApplicartion 新建实例
func (*Application) CheckClientSecret ¶
func (a *Application) CheckClientSecret(secret string) error
CheckClientSecret 判断凭证是否合法
type ClientType ¶
type ClientType string
ClientType 客户端类型
const ( // Confidential (server-based) https://tools.ietf.org/html/rfc6749#section-2.1 Confidential ClientType = "confidential" // Public (client-based) Public ClientType = "public" )
type CreateApplicatonRequest ¶
type CreateApplicatonRequest struct {
*token.Session `bson:"-" json:"-"`
Name string `bson:"name" json:"name,omitempty" validate:"required,lte=30"` // 应用名称
Website string `bson:"website" json:"website,omitempty" validate:"lte=200"` // 应用的网站地址
LogoImage string `bson:"logo_image" json:"logo_image,omitempty" validate:"lte=200"` // 应用的LOGO
Description string `bson:"description" json:"description,omitempty" validate:"lte=1000"` // 应用简单的描述
RedirectURI string `bson:"redirect_uri" json:"redirect_uri,omitempty" validate:"lte=200"` // 应用重定向URI, Oauht2时需要该参数
AccessTokenExpireSecond int64 `bson:"access_token_expire_second" json:"access_token_expire_second"` // 应用申请的token的过期时间
RefreshTokenExpiredSecond int64 `bson:"refresh_token_expire_second" json:"refresh_token_expire_second"` // 刷新token过期时间
ClientType ClientType `bson:"client_type" json:"client_type,omitempty"` // 客户端类型
}
CreateApplicatonRequest 创建应用请求
func NewCreateApplicatonRequest ¶
func NewCreateApplicatonRequest() *CreateApplicatonRequest
NewCreateApplicatonRequest 请求
func (*CreateApplicatonRequest) Validate ¶
func (req *CreateApplicatonRequest) Validate() error
Validate 请求校验
type DescriptApplicationRequest ¶
type DescriptApplicationRequest struct {
*token.Session
ID string `json:"id,omitempty"`
ClientID string `json:"client_id,omitempty"`
}
DescriptApplicationRequest 查询应用详情
func NewDescriptApplicationRequest ¶
func NewDescriptApplicationRequest() *DescriptApplicationRequest
NewDescriptApplicationRequest new实例
func (*DescriptApplicationRequest) Validate ¶
func (req *DescriptApplicationRequest) Validate() error
Validate 校验详情查询请求
type QueryApplicationRequest ¶
type QueryApplicationRequest struct {
*request.PageRequest
UserID string
Account string
}
QueryApplicationRequest 查询应用列表
func NewQueryApplicationRequest ¶
func NewQueryApplicationRequest(pageReq *request.PageRequest) *QueryApplicationRequest
NewQueryApplicationRequest 列表查询请求
type Set ¶
type Set struct {
*request.PageRequest
Total int64 `json:"total"`
Items []*Application `json:"items"`
}
Set 应用列表
func NewApplicationSet ¶
func NewApplicationSet(req *request.PageRequest) *Set
NewApplicationSet 实例化
type UserInterface ¶
type UserInterface interface {
CreateUserApplication(req *CreateApplicatonRequest) (*Application, error)
DeleteApplication(id string) error
DescriptionApplication(req *DescriptApplicationRequest) (*Application, error)
QueryApplication(req *QueryApplicationRequest) (*Set, error)
}
UserInterface todo
Click to show internal directories.
Click to hide internal directories.