67 lines
1.7 KiB
Go
67 lines
1.7 KiB
Go
package yggdrasil
|
|
|
|
type Pass struct {
|
|
// 目前只能是 email
|
|
Username string `json:"username" validate:"required,email"`
|
|
Password string `json:"password" validate:"required"`
|
|
}
|
|
|
|
type Authenticate struct {
|
|
Agent struct {
|
|
Name string `json:"name" validate:"required,eq=Minecraft"`
|
|
Version int `json:"version" validate:"required,eq=1"`
|
|
} `json:"agent"`
|
|
ClientToken string `json:"clientToken"`
|
|
RequestUser bool `json:"requestUser"`
|
|
Pass
|
|
}
|
|
|
|
type Error struct {
|
|
Cause string `json:"cause,omitempty"`
|
|
Error string `json:"error,omitempty"`
|
|
ErrorMessage string `json:"errorMessage,omitempty"`
|
|
}
|
|
|
|
type Token struct {
|
|
AccessToken string `json:"accessToken"`
|
|
AvailableProfiles []TokenProfile `json:"availableProfiles,omitempty"`
|
|
ClientToken string `json:"clientToken"`
|
|
SelectedProfile TokenProfile `json:"selectedProfile"`
|
|
User TokenUser `json:"user,omitempty"`
|
|
}
|
|
|
|
type TokenProfile struct {
|
|
// 就是 uuid
|
|
ID string `json:"id"`
|
|
Name string `json:"name"`
|
|
}
|
|
|
|
type TokenUser struct {
|
|
ID string `json:"id"`
|
|
Properties []any `json:"properties"`
|
|
}
|
|
|
|
type ValidateToken struct {
|
|
// jwt
|
|
AccessToken string `json:"accessToken" validate:"required,jwt"`
|
|
ClientToken string `json:"clientToken"`
|
|
}
|
|
|
|
type RefreshToken struct {
|
|
ValidateToken
|
|
RequestUser bool `json:"requestUser"`
|
|
SelectedProfile TokenProfile `json:"selectedProfile"`
|
|
}
|
|
|
|
type UserInfo struct {
|
|
ID string `json:"id"`
|
|
Name string `json:"name"`
|
|
Properties []UserProperties `json:"properties"`
|
|
}
|
|
|
|
type UserProperties struct {
|
|
Name string `json:"name"`
|
|
Value string `json:"value"`
|
|
Signature string `json:"signature,omitempty"`
|
|
}
|