Documentation
¶
Overview ¶
Package antigravity provides OAuth2 authentication functionality for the Antigravity provider.
Package antigravity provides OAuth2 authentication functionality for the Antigravity provider.
Index ¶
- Constants
- Variables
- func CredentialFileName(email string) string
- type AntigravityAuth
- func (o *AntigravityAuth) BuildAuthURL(state, redirectURI string) string
- func (o *AntigravityAuth) ExchangeCodeForTokens(ctx context.Context, code, redirectURI string) (*TokenResponse, error)
- func (o *AntigravityAuth) FetchProjectID(ctx context.Context, accessToken string) (string, error)
- func (o *AntigravityAuth) FetchUserInfo(ctx context.Context, accessToken string) (string, error)
- func (o *AntigravityAuth) OnboardUser(ctx context.Context, accessToken, tierID string) (string, error)
- type TokenResponse
Constants ¶
const ( ClientID = "1071006060591-tmhssin2h21lcre235vtolojh4g403ep.apps.googleusercontent.com" ClientSecret = "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" CallbackPort = 51121 )
OAuth client credentials and configuration
const ( TokenEndpoint = "https://oauth2.googleapis.com/token" AuthEndpoint = "https://accounts.google.com/o/oauth2/v2/auth" UserInfoEndpoint = "https://www.googleapis.com/oauth2/v1/userinfo?alt=json" )
OAuth2 endpoints for Google authentication
const ( APIEndpoint = "https://cloudcode-pa.googleapis.com" APIVersion = "v1internal" APIUserAgent = "google-api-nodejs-client/9.15.1" APIClient = "google-cloud-sdk vscode_cloudshelleditor/0.1" ClientMetadata = `{"ideType":"IDE_UNSPECIFIED","platform":"PLATFORM_UNSPECIFIED","pluginType":"GEMINI"}` )
Antigravity API configuration
Variables ¶
var Scopes = []string{
"https://www.googleapis.com/auth/cloud-platform",
"https://www.googleapis.com/auth/userinfo.email",
"https://www.googleapis.com/auth/userinfo.profile",
"https://www.googleapis.com/auth/cclog",
"https://www.googleapis.com/auth/experimentsandconfigs",
}
Scopes defines the OAuth scopes required for Antigravity authentication
Functions ¶
func CredentialFileName ¶
CredentialFileName returns the filename used to persist Antigravity credentials. It uses the email as a suffix to disambiguate accounts.
Types ¶
type AntigravityAuth ¶
type AntigravityAuth struct {
// contains filtered or unexported fields
}
AntigravityAuth handles Antigravity OAuth authentication
func NewAntigravityAuth ¶
func NewAntigravityAuth(cfg *config.Config, httpClient *http.Client) *AntigravityAuth
NewAntigravityAuth creates a new Antigravity auth service.
func (*AntigravityAuth) BuildAuthURL ¶
func (o *AntigravityAuth) BuildAuthURL(state, redirectURI string) string
BuildAuthURL generates the OAuth authorization URL.
func (*AntigravityAuth) ExchangeCodeForTokens ¶
func (o *AntigravityAuth) ExchangeCodeForTokens(ctx context.Context, code, redirectURI string) (*TokenResponse, error)
ExchangeCodeForTokens exchanges authorization code for access and refresh tokens
func (*AntigravityAuth) FetchProjectID ¶
FetchProjectID retrieves the project ID for the authenticated user via loadCodeAssist
func (*AntigravityAuth) FetchUserInfo ¶
FetchUserInfo retrieves user email from Google
func (*AntigravityAuth) OnboardUser ¶
func (o *AntigravityAuth) OnboardUser(ctx context.Context, accessToken, tierID string) (string, error)
OnboardUser attempts to fetch the project ID via onboardUser by polling for completion