package oauth import "cs-bridge/internal/auth" type UserInfo struct { ID string `json:"id"` Username string `json:"username"` Avatar string `json:"avatar_url"` } type Provider interface { Name() string AuthURL(state string) (string, error) Exchange(code string) (string, error) UserInfo(token string) (auth.Identify, error) }