Documentation ¶
Index ¶
- Constants
- Variables
- func Client() *resty.Client
- func Execute(request *resty.Request, method, url string, body interface{}, resp interface{}) error
- func GenRequestID(ctx context.Context) string
- func NewRequest(ctx context.Context) *resty.Request
- func ParseResponse(r *resty.Response, obj interface{}) error
- type AppError
- type AppJWTPayload
- type AppRequest
- func (ir AppRequest) AuthByFoxone(ctx context.Context, authReq *FoxoneAuthReq) (*User, error)
- func (ir AppRequest) AuthByMixin(ctx context.Context, authReq *MixinAuthReq) (*User, error)
- func (ir AppRequest) AuthByWechat(ctx context.Context, authReq *WechatAuthReq) (*User, error)
- func (ir AppRequest) BatchGetUsers(ctx context.Context, userIDs []uint64, ...) ([]*User, error)
- func (ir AppRequest) BindAuth(ctx context.Context, req AuthBindingRequest) (*Authorization, error)
- func (ir AppRequest) ChangePassword(ctx context.Context, userID uint64, oldPassword, newPassword string) (*User, error)
- func (ir AppRequest) ChangePhone(ctx context.Context, req *UserModifyReq) (*User, error)
- func (ir AppRequest) CreateUser(ctx context.Context, req *CreateUserReq) (*User, error)
- func (ir AppRequest) GenMfaPhoneCode(ctx context.Context, authReq *PhoneCodeVerifyRequest) (string, error)
- func (ir AppRequest) GenMfaToken(ctx context.Context, userID uint64) (string, error)
- func (ir AppRequest) GenToken(ctx context.Context, req *TokenCreateRequest) (*Token, error)
- func (ir AppRequest) GetAllUsers(ctx context.Context) ([]*User, error)
- func (ir AppRequest) GetApp(ctx context.Context) (*Application, error)
- func (ir AppRequest) GetAuthByOAuthID(ctx context.Context, provider AuthProviderTypeEnum, oauthID string) (*Authorization, error)
- func (ir AppRequest) GetAuthorizedKey(ctx context.Context, authKey string) (*AuthorizedKey, error)
- func (ir AppRequest) GetAuths(ctx context.Context, provider string, offset, limit int) (*AuthorizationList, error)
- func (ir AppRequest) GetAuthsByOAuthIDs(ctx context.Context, provider AuthProviderTypeEnum, oauthIDs []string) ([]*Authorization, error)
- func (ir AppRequest) GetHHBizToken(ctx context.Context, userID uint64, returnURL string) (string, error)
- func (ir AppRequest) GetUser(ctx context.Context, userID uint64, profile, mixinAuth, foxAuth bool, ...) (*User, error)
- func (ir AppRequest) GetUserByPhone(ctx context.Context, phoneCode, phoneNumber string) (*User, error)
- func (ir AppRequest) GetZDBizToken(ctx context.Context, userID uint64, returnURL string) (string, error)
- func (ir AppRequest) Login(ctx context.Context, req *LoginRequest) (*User, error)
- func (ir AppRequest) RemoveMfa(ctx context.Context, userID uint64) (bool, error)
- func (ir AppRequest) RemoveToken(ctx context.Context, userID uint64) error
- func (ir AppRequest) SetPassword(ctx context.Context, userID uint64, password string) (*User, error)
- func (ir AppRequest) TwoFactorVerify(ctx context.Context, req *TwoFactorRequest) (*User, error)
- func (ir AppRequest) UnbindAuth(ctx context.Context, userID uint64, provider AuthProviderTypeEnum) error
- func (ir AppRequest) UpdateMfa(ctx context.Context, req *MfaCredentialRequest) (*MfaCredential, error)
- func (ir AppRequest) VerifyMfaPhoneCode(ctx context.Context, verifyReq *PhoneCodeVerifyRequest) (*User, error)
- func (ir AppRequest) VerifyUserPassword(ctx context.Context, userID uint64, password string) (*User, error)
- type AppStatusEnum
- type Application
- type AuthBindingRequest
- type AuthListRequest
- type AuthObject
- type AuthProviderTypeEnum
- type AuthSchemeEnum
- type AuthTypeEnum
- type Authorization
- type AuthorizationList
- type AuthorizedKey
- type BasePageResponse
- type CaptchaTypeEnum
- type CreateUserReq
- type FoxAuth
- type FoxoneAuthReq
- type FoxoneCredential
- type IDTypeEnum
- type KycBizTokenRequest
- type KycSyncRequest
- type LoginRequest
- type LoginTypeEnum
- type MfaCredential
- type MfaCredentialRequest
- type MfaTypeEnum
- type MixinAuth
- type MixinAuthReq
- type MixinCredential
- type MixinCredentialTypeEnum
- type Pagination
- type PermissionRequest
- type PhoneCodeVerifyRequest
- type Profile
- type Token
- type TokenCreateRequest
- type TwoFactorRequest
- type User
- type UserModifyReq
- type UserRequest
- type WechatAuth
- type WechatAuthReq
- type WechatCredential
Constants ¶
const ( MfaTypeEnumSms = "sms" MfaTypeEnumEmail = "email" MfaTypeEnumTotp = "totp" MfaTypeEnumHotp = "hotp" )
const ErrorOk = 0
Variables ¶
var FaceidKycResult = map[string]string{
"1000:SUCCESS": "待比对照片与参考数据照片或上传照片对比是同一个人",
"1000:LIVENESS_FINISH": "活体完成",
"1001:SUCCESS": "尚未进行活体认证",
"1001:SUCCESS_BACKSIDE_SINGLE": "只需识别国徽面时识别成功",
"1001:SUCCESS_FRONTSIDE_SINGLE": "只需识别人像面时识别成功",
"1002:SUCCESS_ALMOST_FRONTSIDE": "识别出身份证国徽面没有问题,身份证人像面内容上存在没有识别出来、或者出来的内容存在逻辑问题、识别出来的内容存在质量问题",
"1002:SUCCESS_ALMOST_BACKSIDE": "识别出身份证人像面没有问题,身份证国徽面内容上存在没有识别出来、或者出来的内容存在逻辑问题、识别出来的内容存在质量问",
"1002:SUCCESS_ALMOST_BOTHSIDE": "识别出身份证人像面和国徽面内容上均存在没有识别出来、或者出来的内容存在逻辑问题、识别出来的内容存在质量问题",
"1002:SUCCESS_ALMOST_BACKSIDE_SINGLE": "只需识别国徽面时内容上存在没有识别出来、或者出来的内容存在逻辑问题、识别出来的内容存在质量问题",
"1002:SUCCESS_ALMOST_FRONTSIDE_SINGLE": "只需识别人像面时内容上存在没有识别出来、或者出来的内容存在逻辑问题、识别出来的内容存在质量问题",
"2001:NO_IDCARD_FRONTSIDE": "没有检测到身份证人像面照片",
"2001:NO_IDCARD_BACKSIDE": "没有检测到身份证国徽面照片",
"2001:NO_IDCARD_BOTHSIDE": "没有检测到身份证人像面和国徽面照片",
"2001:NO_IDCARD_BACKSIDE_SINGLE": "只需识别国徽面时没有检测到国徽面照片",
"2001:NO_IDCARD_FRONTSIDE_SINGLE": "只需识别人像面时没有检测到人像面照片",
"2000:PASS_LIVING_NOT_THE_SAME": "待比对照片与参考数据照片或上传照片对比不是同一个人",
"3000:NO_ID_CARD_NUMBER": "无此身份证号",
"3000:ID_NUMBER_NAME_NOT_MATCH": "身份证号和姓名不相符",
"3000:NO_ID_PHOTO": "无法获取参考照片",
"3000:NO_FACE_FOUND": "参考照片中找不到人脸",
"3000:PHOTO_FORMAT_ERROR": "参考照片格式错误",
"3000:DATA_SOURCE_ERROR": "参考数据错误",
"3100:IDCARD_PHOTO_FRONTSIDE": "身份证人像面识别错误(可能是拍摄模糊,阴影,暗光)或者有逻辑错误(例如性别和身份证号不匹配)",
"3100:IDCARD_BACKSIDE_BLURRED": "身份证国徽面识别错误(可能是拍摄模糊,阴影,暗光)或者有逻辑错误(例如性别和身份证号不匹配)",
"3100:NO_FACE_FOUND_IDCARD": "身份证人像面找不到人脸",
"3100:IDCARD_PHOTO_NOTFRONTSIDE": "非身份证人像面",
"3100:IDCARD_PHOTO_NOTBACKSIDE": "非身份证国徽面",
"3100:IDCARD_PHOTO_INVALID_SIZE": "身份证图片超过尺寸限制",
"3200:FAIL_OCR_FAKE_IDCARD": "假证",
"4100:FAIL_LIVING_FACE_ATTACK": "云端活体验证失败",
"4100:CHANGE_FACE_ATTACK": "活体验证视频中发生了换脸攻击(视频中不是同一个人)",
"4100:VIDEO_LACK_FRAMES": "获取到的活体数据故障,请换一台手机重试",
"4100:FAIL_EYES_CLOSE_DETECTION": "未通过闭眼检测,活体失败",
"4200:NO_FACE_FOUND": "活体验证视频中没有检测到人脸",
"4200:FACE_QUALITY_TOO_LOW": "活体验证视频中质量太差",
"4200:INVALID_VIDEO_DURATION": "活体验证视频中长度不符合要求(2s~20s)",
"4200:VIDEO_TOO_LARGE": "活体验证视频过大",
"4200:SR_ERROR": "活体验证视频中,用户读数语音不符合要求",
"4200:NOT_SYNCHRONIZED": "活体验证视频中,用户读数唇语不符合要求",
"4200:NO_AUDIO": "活体验证视频无声音",
"4200:VIDEO_FORMAT_UNSUPPORTED": "活体验证视频格式无法识别",
"4200:LIP_VOICE_NOT_SYNC": "活体验证视频中语音唇语不同步",
"4200:VIDEO_OK": "活体验证视频可用",
"4200:VIDEO_MANY_TIMES": "活体验证视频上传超过阈值(默认为3,get_biz_token接口中liveness_retry_count参数可以设置)",
"4200:VIDEO_INTERNAL_ERROR": "活体验证内部错误",
"4200:BIZ_TOKEN_DENIED": "传入的 biz_token 不符合要求",
"4200:AUTHENTICATION_FAIL": "鉴权失败",
"4200:MOBILE_PHONE_NOT_SUPPORT": "手机在不支持列表里",
"4200:SDK_TOO_OLD": "SDK版本过旧,已经不被支持",
"4200:MOBILE_PHONE_NO_AUTHORITY": "没有权限(运动传感器、存储、相机)",
"4200:USER_CANCELLATION": "用户活体失败,可能原因:用户取消了",
"4200:USER_TIMEOUT": "用户活体失败,可能原因:验证过程超时",
"4200:VERIFICATION_FAILURE": "用户活体失败,可能原因:验证失败",
"4200:UNDETECTED_FACE": "用户活体失败,可能原因:未检测到人脸",
"4200:ACTION_ERROR": "用户活体失败,可能原因:用户动作错误;",
"9000:LIVING_NOT_START": "活体验证没有开始",
"9000:LIVING_IN_PROGRESS": "正在进行验证",
"9000:LIVING_OVERTIME": "操作超时,由于用户在长时间没有进行操作",
"5000:API_KEY_BE_DISCONTINUED": "api_key被停用",
"5000:IP_NOT_ALLOWED": "不允许访问的IP",
"5000:NON_ENTERPRISE_CERTIFICATION": "客户未进行企业认证",
"5000:ACCOUNT_DISCONTINUED": "用户帐号已停用",
"5000:EXPIRED_SIGN": "签名过期",
"5000:INVALID_SIGN": "无效的签名",
"5000:REPLAY_ATTACK": "重放攻击,单次有效的签名被多次使用",
"5000:BALANCE_NOT_ENOUGH": "余额不足",
"5000:MORE_RETRY_TIMES": "超过重试次数",
"5000:ACCOUNT_DISABLED": "账户已停用",
"6000:NO_NETWORK_PERMISSION": "没有网络权限",
"6000:NO_CAMERA_PERMISSION": "没有相机权限",
"6000:DEVICE_NOT_SUPPORT": "无法启动相机,请确认摄像头功能完好",
"6000:ILLEGAL_PARAMETER": "传入参数不合法",
"6000:INVALID_BUNDLE_ID": "信息验证失败,请重启程序或设备后重试",
"6000:USER_CANCEL": "用户主动退出流程",
"6000:NETWORK_ERROR": "连不上互联网,请连接上互联网后重试",
"6000:FACE_INIT_FAIL": "无法启动人脸识别,请稍后重试",
"6000:LIVENESS_DETECT_FAILED": "活体检测不通过",
"6000:NO_SENSOR_PERMISSION": "无法读取运动数据的权限,请开启权限后重试",
"6000:INIT_FAILED": "初始化失败",
}
FaceidKycResult FaceidKycResult
var RequestIDKey = "X-Request-ID"
RequestIDKey RequestIDKey
Functions ¶
func GenRequestID ¶ added in v0.1.16
GenRequestID GenRequestID
func NewRequest ¶ added in v0.1.4
NewRequest NewRequest
func ParseResponse ¶
ParseResponse ParseResponse
Types ¶
type AppJWTPayload ¶ added in v0.2.9
type AppJWTPayload struct { jwtgo.StandardClaims UID string `json:"uid,omitempty"` Mode string `json:"mode,omitempty"` Scheme AuthSchemeEnum `json:"scheme,omitempty"` OAuthProvider string `json:"oap,omitempty"` //oap: OAuth Provider Type AuthTypeEnum `json:"typ,omitempty"` SessionID string `json:"sid,omitempty"` Sign string `json:"sig,omitempty"` SignAlg string `json:"sal,omitempty"` Extra string `json:"extra,omitempty"` // 额外的字段,可以存放 json 等非标数据 }
AppJWTPayload AppJWTPayload
type AppRequest ¶ added in v0.2.22
AppRequest IdentityRequest
func NewAppRequestBasic ¶ added in v0.2.22
func NewAppRequestBasic(authKey, authSecret, serverURL string) *AppRequest
NewAppRequestBasic NewAppRequestBasic
func NewAppRequestJwt ¶ added in v0.2.22
func NewAppRequestJwt(token, serverURL string) *AppRequest
NewAppRequestJwt NewAppRequestJwt
func (AppRequest) AuthByFoxone ¶ added in v0.2.22
func (ir AppRequest) AuthByFoxone(ctx context.Context, authReq *FoxoneAuthReq) (*User, error)
AuthByFoxone AuthByFoxone
func (AppRequest) AuthByMixin ¶ added in v0.2.22
func (ir AppRequest) AuthByMixin(ctx context.Context, authReq *MixinAuthReq) (*User, error)
AuthByMixin AuthByMixin
func (AppRequest) AuthByWechat ¶ added in v0.7.0
func (ir AppRequest) AuthByWechat(ctx context.Context, authReq *WechatAuthReq) (*User, error)
AuthByFoxone AuthByFoxone
func (AppRequest) BatchGetUsers ¶ added in v0.5.3
func (ir AppRequest) BatchGetUsers(ctx context.Context, userIDs []uint64, profile, mixinAuth, foxAuth, wechatAuth bool, query ...string) ([]*User, error)
BatchGetUsers BatchGetUsers
func (AppRequest) BindAuth ¶ added in v0.4.0
func (ir AppRequest) BindAuth(ctx context.Context, req AuthBindingRequest) (*Authorization, error)
BindAuth BindAuth
func (AppRequest) ChangePassword ¶ added in v0.5.0
func (ir AppRequest) ChangePassword(ctx context.Context, userID uint64, oldPassword, newPassword string) (*User, error)
ChangePassword ChangePassword
func (AppRequest) ChangePhone ¶ added in v0.5.0
func (ir AppRequest) ChangePhone(ctx context.Context, req *UserModifyReq) (*User, error)
ChangePhone ChangePhone
func (AppRequest) CreateUser ¶ added in v0.2.22
func (ir AppRequest) CreateUser(ctx context.Context, req *CreateUserReq) (*User, error)
CreateUser CreateUser
func (AppRequest) GenMfaPhoneCode ¶ added in v0.4.0
func (ir AppRequest) GenMfaPhoneCode(ctx context.Context, authReq *PhoneCodeVerifyRequest) (string, error)
GenMfaPhoneCode GenMfaPhoneCode
func (AppRequest) GenMfaToken ¶ added in v0.6.1
GenMfaToken GenMfaToken
func (AppRequest) GenToken ¶ added in v0.2.22
func (ir AppRequest) GenToken(ctx context.Context, req *TokenCreateRequest) (*Token, error)
GenToken GenToken
func (AppRequest) GetAllUsers ¶ added in v0.2.22
func (ir AppRequest) GetAllUsers(ctx context.Context) ([]*User, error)
GetAllUsers GetAllUsers
func (AppRequest) GetApp ¶ added in v0.2.22
func (ir AppRequest) GetApp(ctx context.Context) (*Application, error)
GetApp GetApp
func (AppRequest) GetAuthByOAuthID ¶ added in v0.2.22
func (ir AppRequest) GetAuthByOAuthID(ctx context.Context, provider AuthProviderTypeEnum, oauthID string) (*Authorization, error)
GetAuthByOAuthID GetAuthByOAuthID
func (AppRequest) GetAuthorizedKey ¶ added in v0.7.2
func (ir AppRequest) GetAuthorizedKey(ctx context.Context, authKey string) (*AuthorizedKey, error)
GetAuthorizedKey GetAuthorizedKey
func (AppRequest) GetAuths ¶ added in v0.2.22
func (ir AppRequest) GetAuths(ctx context.Context, provider string, offset, limit int) (*AuthorizationList, error)
GetAuths GetAuths
func (AppRequest) GetAuthsByOAuthIDs ¶ added in v0.5.2
func (ir AppRequest) GetAuthsByOAuthIDs(ctx context.Context, provider AuthProviderTypeEnum, oauthIDs []string) ([]*Authorization, error)
GetAuthsByOAuthIDs GetAuthsByOAuthIDs
func (AppRequest) GetHHBizToken ¶ added in v0.2.22
func (ir AppRequest) GetHHBizToken(ctx context.Context, userID uint64, returnURL string) (string, error)
GetHHBizToken GetHHBizToken
func (AppRequest) GetUser ¶ added in v0.2.22
func (ir AppRequest) GetUser(ctx context.Context, userID uint64, profile, mixinAuth, foxAuth bool, wechatAuth bool, queries ...string) (*User, error)
GetUser GetUser
func (AppRequest) GetUserByPhone ¶ added in v0.3.8
func (ir AppRequest) GetUserByPhone(ctx context.Context, phoneCode, phoneNumber string) (*User, error)
GetUserByPhone GetUser
func (AppRequest) GetZDBizToken ¶ added in v0.2.22
func (ir AppRequest) GetZDBizToken(ctx context.Context, userID uint64, returnURL string) (string, error)
GetZDBizToken GetZDBizToken
func (AppRequest) Login ¶ added in v0.6.0
func (ir AppRequest) Login(ctx context.Context, req *LoginRequest) (*User, error)
Login Login
func (AppRequest) RemoveToken ¶ added in v0.7.5
func (ir AppRequest) RemoveToken(ctx context.Context, userID uint64) error
RemoveToken RemoveToken
func (AppRequest) SetPassword ¶ added in v0.6.7
func (ir AppRequest) SetPassword(ctx context.Context, userID uint64, password string) (*User, error)
SetPassword SetPassword
func (AppRequest) TwoFactorVerify ¶ added in v0.6.0
func (ir AppRequest) TwoFactorVerify(ctx context.Context, req *TwoFactorRequest) (*User, error)
TwoFactorVerify TwoFactorVerify
func (AppRequest) UnbindAuth ¶ added in v0.4.0
func (ir AppRequest) UnbindAuth(ctx context.Context, userID uint64, provider AuthProviderTypeEnum) error
UnbindAuth BindAuth
func (AppRequest) UpdateMfa ¶ added in v0.6.5
func (ir AppRequest) UpdateMfa(ctx context.Context, req *MfaCredentialRequest) (*MfaCredential, error)
UpdateMfa UpdateMfa
func (AppRequest) VerifyMfaPhoneCode ¶ added in v0.4.0
func (ir AppRequest) VerifyMfaPhoneCode(ctx context.Context, verifyReq *PhoneCodeVerifyRequest) (*User, error)
VerifyMfaPhoneCode VerifyMfaPhoneCode
func (AppRequest) VerifyUserPassword ¶ added in v0.3.8
func (ir AppRequest) VerifyUserPassword(ctx context.Context, userID uint64, password string) (*User, error)
VerifyUserPassword VerifyUserPassword
type AppStatusEnum ¶ added in v0.2.22
type AppStatusEnum string
AppStatusEnum 枚举
const ( // AppStatusEnumNormal 正常 AppStatusEnumNormal AppStatusEnum = "normal" // AppStatusEnumDisabled 下架 AppStatusEnumDisabled AppStatusEnum = "disabled" )
func (AppStatusEnum) String ¶ added in v0.2.22
func (e AppStatusEnum) String() string
type Application ¶ added in v0.2.22
type Application struct { ID uint32 `json:"app_id" ` Name string `json:"name"` Slug string `json:"slug"` CreatorID uint64 `json:"creator_id"` Description string `json:"description"` Status AppStatusEnum `json:"status"` CreatedAt time.Time UpdatedAt time.Time }
Application Application
type AuthBindingRequest ¶ added in v0.4.0
type AuthBindingRequest struct { UserID uint64 `json:"user_id"` Provider AuthProviderTypeEnum `json:"provider"` OauthID string `json:"oauth_id" ` UnionID string `json:"union_id" ` Credential string `json:"credential"` AppUserName string `json:"app_user_name"` AppUserID string `json:"app_user_id"` }
AuthBindingRequest auth 绑定
type AuthListRequest ¶ added in v0.2.0
type AuthListRequest struct { Offset uint64 `json:"offset" ` Limit uint64 `json:"limit"` Provider AuthProviderTypeEnum `json:"provider"` }
AuthListRequest 用户表求
type AuthObject ¶ added in v0.2.14
type AuthObject struct { MixinAuth *MixinAuth `json:"mixin,omitempty"` FoxAuth *FoxAuth `json:"foxone,omitempty"` WechatAuth *WechatAuth `json:"wechat,omitempty"` }
AuthObject Auths
type AuthProviderTypeEnum ¶ added in v0.2.0
type AuthProviderTypeEnum string
AuthProviderTypeEnum 枚举
const ( // AuthProviderTypeEnumMixin offer AuthProviderTypeEnumMixin AuthProviderTypeEnum = "mixin" // AuthProviderTypeEnumFoxone order AuthProviderTypeEnumFoxone AuthProviderTypeEnum = "foxone" // AuthProviderTypeEnumWechat wechat AuthProviderTypeEnumWechat AuthProviderTypeEnum = "wechat" // AuthProviderTypeEnumAlipay alipay AuthProviderTypeEnumAlipay AuthProviderTypeEnum = "alipay" )
func (AuthProviderTypeEnum) String ¶ added in v0.2.0
func (e AuthProviderTypeEnum) String() string
type AuthSchemeEnum ¶ added in v0.2.8
type AuthSchemeEnum string
AuthSchemeEnum 枚举
const ( // AuthSchemeEnumBasic basic AuthSchemeEnumBasic AuthSchemeEnum = "basic" // AuthSchemeEnumDigest digest AuthSchemeEnumDigest AuthSchemeEnum = "digest" // AuthSchemeEnumJWTHS jwt_hs AuthSchemeEnumJWTHS AuthSchemeEnum = "jwths" // AuthSchemeEnumJWTRS jwt_rs AuthSchemeEnumJWTRS AuthSchemeEnum = "jwtrs" // AuthSchemeEnumJWTES jwt_es AuthSchemeEnumJWTES AuthSchemeEnum = "jwtes" )
func (AuthSchemeEnum) String ¶ added in v0.2.8
func (e AuthSchemeEnum) String() string
type AuthTypeEnum ¶ added in v0.2.8
type AuthTypeEnum string
AuthTypeEnum 枚举
const ( // AuthTypeEnumUser user AuthTypeEnumUser AuthTypeEnum = "user" // AuthTypeEnumApp app AuthTypeEnumApp AuthTypeEnum = "app" // AuthTypeEnumAppuser appuser AuthTypeEnumAppuser AuthTypeEnum = "appuser" // AuthTypeEnumSystem system AuthTypeEnumSystem AuthTypeEnum = "system" // AuthTypeEnumRefresh refresh AuthTypeEnumRefresh AuthTypeEnum = "refresh" )
func (AuthTypeEnum) String ¶ added in v0.2.8
func (e AuthTypeEnum) String() string
type Authorization ¶ added in v0.2.14
type Authorization struct { ID uint64 `json:"id"` UserID uint64 `json:"user_id"` AppID uint32 `json:"app_id"` Provider AuthProviderTypeEnum `json:"provider"` OauthID string `json:"oauth_id"` UnionID string `json:"union_id"` AppUserID string `json:"app_user_id"` Credential string `json:"credential"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` }
Authorization Authorization
type AuthorizationList ¶ added in v0.2.14
type AuthorizationList struct { Data []*Authorization `json:"data"` Pagination Pagination `json:"pagination"` }
AuthorizationList AuthorizationList
type AuthorizedKey ¶ added in v0.7.2
type AuthorizedKey struct { ID uint64 `json:"id"` Name string `json:"name"` AppID uint32 `json:"app_id"` UserID uint64 `json:"user_id"` Type AuthTypeEnum `json:"type"` Scheme AuthSchemeEnum `json:"scheme"` Scopes string `json:"scopes"` Key string `json:"auth_key"` Secret string `json:"-"` Remark string `json:"remark"` ExpriedAt *time.Time `json:"expried_at"` CreatedAt time.Time `json:"created_at"` }
AuthorizedKey AuthorizedKey
type BasePageResponse ¶ added in v0.3.8
type BasePageResponse struct { Items []interface{} `json:"data"` Pagination *Pagination `json:"pagination"` }
BasePageResponse BasePageResponse
type CaptchaTypeEnum ¶ added in v0.6.6
type CaptchaTypeEnum string
CaptchaTypeEnum CaptchaTypeEnum
const ( // CaptchaTypeEnumLogin offer CaptchaTypeEnumLogin CaptchaTypeEnum = "login" CaptchaTypeEnumReg CaptchaTypeEnum = "reg" CaptchaTypeEnumTwoFactor CaptchaTypeEnum = "two-factor" )
func (CaptchaTypeEnum) String ¶ added in v0.6.6
func (e CaptchaTypeEnum) String() string
type CreateUserReq ¶
type CreateUserReq struct { UserName string `json:"username"` Type string `json:"type"` PhoneCode string `json:"phone_code"` PhoneNumber string `json:"phone_number"` Email string `json:"email"` Password string `json:"password"` AvatarURL string `json:"avatar_url"` Description string `json:"description"` }
CreateUserReq CreateUserReq
type FoxAuth ¶ added in v0.2.14
type FoxAuth struct { UserID uint64 `json:"user_id"` Provider string `json:"provider"` OauthID string `json:"oauth_id"` FoxID string `json:"foxone_id"` UserName string `json:"user_name"` Credential *FoxoneCredential `json:"credential"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` }
FoxAuth FoxAuth
type FoxoneAuthReq ¶
type FoxoneAuthReq struct { UserName string `json:"username"` PhoneCode string `json:"phone_code"` PhoneNumber string `json:"phone_number"` Email string `json:"email"` Description string `json:"description"` Provider string `json:"provider"` FoxoneID string `json:"foxone_id"` OauthID string `json:"oauth_id"` Credential string `json:"credential"` AvatarURL string `json:"avatar_url"` }
FoxoneAuthReq FoxoneAuthReq
type FoxoneCredential ¶ added in v0.2.16
type FoxoneCredential struct { AccessToken string `json:"access_token"` Scope string `json:"scope"` ExpiresIn int `json:"expires_in,omitempty"` RefreshToken string `json:"refresh_token,omitempty"` }
FoxoneCredential FoxoneCredential
type IDTypeEnum ¶ added in v0.7.7
type IDTypeEnum string
IDTypeEnum 证件类型 枚举
const ( // IDTypeEnumIDCard 身份证 IDTypeEnumIDCard IDTypeEnum = "idcard" // IDTypeEnumDriverLicense 驾照 IDTypeEnumDriverLicense IDTypeEnum = "driverlicense" // IDTypeEnumPassport 护照 IDTypeEnumPassport IDTypeEnum = "passport" // IDTypeEnumPermanentResident 户口本 IDTypeEnumPermanentResident IDTypeEnum = "permanentresident" // IDTypeEnumForeign 外国人永久居留证 IDTypeEnumForeign IDTypeEnum = "foreign" // IDTypeEnumArmymanCard 军人证 IDTypeEnumArmymanCard IDTypeEnum = "armymancard" // IDTypeEnumPoliceCard 武警证 IDTypeEnumPoliceCard IDTypeEnum = "policecard" // IDTypeEnumCachet 公章 IDTypeEnumCachet IDTypeEnum = "cachet" // IDTypeEnumBusinessLicense 工商营业执照 IDTypeEnumBusinessLicense IDTypeEnum = "businesslicense" // IDTypeEnumCorporationID 法人代码证 IDTypeEnumCorporationID IDTypeEnum = "corporationid" // IDTypeEnumStudentCard 学生证 IDTypeEnumStudentCard IDTypeEnum = "studentcard" // IDTypeEnumSoldierCard 士兵证 IDTypeEnumSoldierCard IDTypeEnum = "soldiercard" // IDTypeEnumGAJMLW 港澳居民来往内地通行证 IDTypeEnumGAJMLW IDTypeEnum = "gajmlw" // IDTypeEnumTWJMLW 台湾居民来往大陆通行证 IDTypeEnumTWJMLW IDTypeEnum = "twjmlw" )
type KycBizTokenRequest ¶ added in v0.1.9
type KycBizTokenRequest struct { UserID string `json:"user_id"` ReturnURL string `json:"return_url"` }
KycBizTokenRequest KycBizTokenRequest
type KycSyncRequest ¶ added in v0.1.4
type KycSyncRequest struct { UserID uint64 `json:"user_id"` KycLevel int `json:"kyc_level"` KycStatus string `json:"kyc_status"` KycError string `json:"kyc_error"` CertifiedAt *time.Time `json:"certified_at"` IDNo string `json:"id_no"` Name string `json:"name"` Country string `json:"country"` IDType string `json:"id_type"` }
KycSyncRequest KycSyncRequest
type LoginRequest ¶
type LoginRequest struct { ID uint64 `json:"id"` PhoneCode string `json:"phone_code"` PhoneNumber string `json:"phone_number"` Email string `json:"email"` Password string `json:"password"` LoginType LoginTypeEnum `json:"login_type"` Captcha string `json:"captcha"` }
LoginRequest LoginRequest
type LoginTypeEnum ¶ added in v0.6.0
type LoginTypeEnum string
const ( LoginTypeEnumPassword LoginTypeEnum = "password" LoginTypeEnumPhone LoginTypeEnum = "phone" LoginTypeEnumEmail LoginTypeEnum = "email" )
func (LoginTypeEnum) String ¶ added in v0.6.0
func (e LoginTypeEnum) String() string
type MfaCredential ¶ added in v0.6.0
type MfaCredential struct { Type MfaTypeEnum `json:"type"` Enable bool `json:"enable"` ProvisioningUri string `json:"provisioning_uri,omitempty"` }
MfaCredentialResponse MfaCredentialResponse
type MfaCredentialRequest ¶ added in v0.6.5
type MfaCredentialRequest struct { UserID uint64 `json:"user_id"` MfaType MfaTypeEnum `json:"mfa_type"` AccountName string `json:"account_name"` IssuerName string `json:"issuer_name"` }
MfaCredentialRequest MfaCredentialRequest
type MfaTypeEnum ¶ added in v0.6.0
type MfaTypeEnum string
func (MfaTypeEnum) String ¶ added in v0.6.0
func (e MfaTypeEnum) String() string
type MixinAuth ¶ added in v0.2.14
type MixinAuth struct { UserID uint64 `json:"user_id"` AppID uint32 `json:"app_id"` Provider string `json:"provider"` OauthID string `json:"oauth_id"` MixinID string `json:"mixin_id"` UserName string `json:"user_name"` Credential *MixinCredential `json:"credential"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` }
MixinAuth MixinAuth
type MixinAuthReq ¶
type MixinAuthReq struct { UserName string `json:"username"` PhoneCode string `json:"phone_code"` PhoneNumber string `json:"phone_number"` Email string `json:"email"` Description string `json:"description"` Provider string `json:"provider"` MixinID string `json:"mixin_id"` OauthID string `json:"oauth_id"` Credential string `json:"credential"` AvatarURL string `json:"avatar_url"` }
MixinAuthReq MixinAuthReq
type MixinCredential ¶ added in v0.2.16
type MixinCredential struct { mixin.EdOToken Type MixinCredentialTypeEnum `json:"type,omitempty"` AccessToken string `json:"access_token,omitempty"` // token }
MixinCredential MixinCredential
func NewMixinEdkeyCredential ¶ added in v0.3.5
func NewMixinEdkeyCredential(edoToken *mixin.EdOToken) *MixinCredential
NewMixinEdkeyCredential NewMixinEdkeyCredential
func NewMixinTokenCredential ¶ added in v0.3.1
func NewMixinTokenCredential(accessToken, scope string) *MixinCredential
NewMixinTokenCredential NewMixinTokenCredentialReq
type MixinCredentialTypeEnum ¶ added in v0.3.0
type MixinCredentialTypeEnum string
MixinCredentialTypeEnum 枚举
const ( // MixinCredentialTypeEnumEdkey edkey MixinCredentialTypeEnumEdkey MixinCredentialTypeEnum = "edkey" // MixinCredentialTypeEnumToken token MixinCredentialTypeEnumToken MixinCredentialTypeEnum = "token" )
func (MixinCredentialTypeEnum) String ¶ added in v0.3.0
func (e MixinCredentialTypeEnum) String() string
type Pagination ¶ added in v0.2.5
type Pagination struct { Offset uint64 `json:"offset,omitempty"` Page uint64 `json:"page,omitempty"` Limit uint64 `json:"limit,omitempty"` Total uint64 `json:"total,omitempty"` Pages uint64 `json:"pages,omitempty"` }
Pagination Pagination
func NewOffsetPagination ¶ added in v0.3.8
func NewOffsetPagination(offset, limit, total uint64) *Pagination
NewOffsetPagination NewPagination
func NewPagePagination ¶ added in v0.3.8
func NewPagePagination(page, limit, total uint64) *Pagination
NewPagePagination NewPagination
type PermissionRequest ¶ added in v0.7.0
type PhoneCodeVerifyRequest ¶ added in v0.4.0
type PhoneCodeVerifyRequest struct { PhoneCode string `json:"phone_code"` PhoneNumber string `json:"phone_number"` CaptchaType CaptchaTypeEnum `json:"captcha_type"` Code string `json:"code"` }
PhoneCodeVerifyRequest PhoneCodeVerifyRequest
type Profile ¶ added in v0.1.4
type Profile struct { UserID uint64 `json:"user_id"` Name string `json:"name,omitempty"` KycLevel int `json:"kyc_level,omitempty"` KycStatus string `json:"kyc_status,omitempty"` KycError string `json:"kyc_error,omitempty"` IDDigest string `json:"id_digest,omitempty"` IDType IDTypeEnum `json:"id_type,omitempty"` IDNoEncrypted string `json:"id_no_encrypted,omitempty"` CertifiedAt time.Time `json:"certified_at"` }
Profile profile
type Token ¶ added in v0.2.14
type Token struct { AppID uint32 `json:"app_id,omitempty"` UserID uint64 `json:"user_id,omitempty"` Type AuthTypeEnum `json:"type,omitempty"` Scheme AuthSchemeEnum `json:"scheme,omitempty"` Provider string `json:"oap,omitempty"` Key string `json:"sid,omitempty"` ExpriedAt *time.Time `json:"expried_at,omitempty"` Token string `json:"token,omitempty"` RefreshToken string `json:"refresh_token,omitempty"` }
Token profile
type TokenCreateRequest ¶ added in v0.2.8
type TokenCreateRequest struct { Type AuthTypeEnum `json:"type"` Scheme AuthSchemeEnum `json:"scheme"` Audience string `json:"aud,omitempty"` // 这个表示 UIAM_ID Issuer string `json:"iss,omitempty"` NotBefore int64 `json:"nbf,omitempty"` Subject string `json:"sub,omitempty"` // Custom Provider string `json:"oap"` // Mixin / FoxONE UID string `json:"uid"` // 这个 UID 表示的是第三方系统的 ID,像 ZOTC 里的那个自己的 SessionID string `json:"sid"` Sign string `json:"sig"` SignAlg string `json:"sal"` // ExpriedAt Duration time.Duration `json:"duration"` // 有效时长 RefreshDuration time.Duration `json:"refresh_duration"` // 刷新有效时长 }
TokenCreateRequest TokenCreateRequest
type TwoFactorRequest ¶ added in v0.6.0
type TwoFactorRequest struct { UserID uint64 `json:"user_id"` MfaToken string `json:"mfa_token"` MfaType MfaTypeEnum `json:"mfa_type"` Captcha string `json:"captcha"` }
TwoFactorRequest TwoFactorRequest
type User ¶
type User struct { UserID uint64 `mapstructure:"id" json:"id"` UserName string `mapstructure:"user_name" json:"user_name"` PhoneCode string `mapstructure:"phone_code" json:"phone_code"` PhoneNumber string `mapstructure:"phone_number" json:"phone_number"` //MfaCredential *MfaCredential `mapstructure:"mfa_credential" json:"mfa_credential"` Email string `mapstructure:"email" json:"email"` Description string `mapstructure:"description" json:"description"` Attributes string `mapstructure:"attributes" json:"attributes"` Auths *AuthObject `mapstructure:"authorizations" json:"authorizations,omitempty"` Profile *Profile `mapstructure:"profile" json:"profile,omitempty"` Status string `mapstructure:"status" json:"status"` CreatedAt time.Time `mapstructure:"created_at" json:"created_at"` }
User User
type UserModifyReq ¶ added in v0.5.0
type UserModifyReq struct { UserID uint64 `json:"user_id"` UserName string `json:"username"` Type string `json:"type"` PhoneCode string `json:"phone_code"` PhoneNumber string `json:"phone_number"` Email string `json:"email"` Password string `json:"password"` AvatarURL string `json:"avatar_url"` Description string `json:"description"` }
UserModifyReq UserModifyReq
type UserRequest ¶ added in v0.2.0
type UserRequest struct { Authorization string `json:"token"` ServerURL string `json:"server_url"` }
UserRequest UserRequest
func NewUserRequestJwt ¶ added in v0.2.0
func NewUserRequestJwt(token, serverURL string) *UserRequest
NewUserRequestJwt NewUserRequestJwt
type WechatAuth ¶ added in v0.5.2
type WechatAuth struct { UserID uint64 `json:"user_id"` AppID uint32 `json:"app_id"` Provider string `json:"provider"` OauthID string `json:"oauth_id"` UnionID string `json:"union_id"` UserName string `json:"user_name"` Credential *WechatCredential `json:"credential"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` }
WechatAuth WechatAuth
type WechatAuthReq ¶ added in v0.7.0
type WechatAuthReq struct { UserName string `json:"username"` PhoneCode string `json:"phone_code" binding:"required,min=1"` PhoneNumber string `json:"phone_number" binding:"required,min=4"` AvatarURL string `json:"avatar_url"` Description string `json:"description"` OauthID string `json:"oauth_id" binding:"required,min=4"` UnionID string `json:"union_id"` Credential string `json:"credential"` }
WechatAuthReq WechatAuthReq