Documentation
¶
Index ¶
- Constants
- func Callback(c *gin.Context)
- func GetLoginURL(c *gin.Context)
- func GetUserIDFromContext(c *gin.Context) uint64
- func GetUserIDFromSession(s sessions.Session) uint64
- func LoginRequired() gin.HandlerFunc
- func Logout(c *gin.Context)
- func UserInfo(c *gin.Context)
- type BasicUserInfo
- type CallbackRequest
Constants ¶
View Source
const ( UserNameKey = "username" UserIDKey = "user_id" UserObjKey = "user_obj" )
View Source
const ( OAuthStateCacheKeyFormat = "oauth:state:%s" OAuthStateCacheKeyExpiration = 10 * time.Minute )
View Source
const ( InvalidState = "非法登录请求" IDTokenVerifyFailed = "ID Token 验证失败" NonceMismatch = "nonce 不匹配,可能存在重放攻击" )
Variables ¶
This section is empty.
Functions ¶
func Callback ¶
Callback godoc @Tags oauth @Param request body CallbackRequest true "request body" @Produce json @Success 200 {object} util.ResponseAny @Router /api/v1/oauth/callback [post]
func GetLoginURL ¶
GetLoginURL godoc @Tags oauth @Produce json @Success 200 {object} util.ResponseAny @Router /api/v1/oauth/login [get]
func GetUserIDFromContext ¶
func GetUserIDFromSession ¶
func LoginRequired ¶
func LoginRequired() gin.HandlerFunc
Types ¶
type BasicUserInfo ¶
type BasicUserInfo struct {
ID uint64 `json:"id"`
Username string `json:"username"`
Nickname string `json:"nickname"`
TrustLevel model.TrustLevel `json:"trust_level"`
AvatarUrl string `json:"avatar_url"`
TotalReceive decimal.Decimal `json:"total_receive"`
TotalPayment decimal.Decimal `json:"total_payment"`
TotalTransfer decimal.Decimal `json:"total_transfer"`
TotalCommunity decimal.Decimal `json:"total_community"`
CommunityBalance decimal.Decimal `json:"community_balance"`
AvailableBalance decimal.Decimal `json:"available_balance"`
PendingBalance decimal.Decimal `json:"pending_balance"`
PayScore int64 `json:"pay_score"`
IsPayKey bool `json:"is_pay_key"`
IsAdmin bool `json:"is_admin"`
RemainQuota decimal.Decimal `json:"remain_quota"`
PayLevel model.PayLevel `json:"pay_level"`
DailyLimit *int64 `json:"daily_limit"`
}
type CallbackRequest ¶
Click to show internal directories.
Click to hide internal directories.