Documentation
¶
Index ¶
- type LocalProviderResource
- type ProviderResource
- func (r *ProviderResource) AccessProviderAccount(ctx context.Context, req *s4wave_provider.AccessProviderAccountRequest) (*s4wave_provider.AccessProviderAccountResponse, error)
- func (r *ProviderResource) GetMux() srpc.Invoker
- func (r *ProviderResource) GetProviderInfo(ctx context.Context, req *s4wave_provider.GetProviderInfoRequest) (*s4wave_provider.GetProviderInfoResponse, error)
- type SpacewaveProviderResource
- func (s *SpacewaveProviderResource) ConfirmDesktopPasskey(ctx context.Context, ...) (*s4wave_provider_spacewave.ConfirmDesktopPasskeyResponse, error)
- func (s *SpacewaveProviderResource) ConfirmDesktopSSO(ctx context.Context, req *s4wave_provider_spacewave.ConfirmDesktopSSORequest) (*s4wave_provider_spacewave.ConfirmDesktopSSOResponse, error)
- func (s *SpacewaveProviderResource) CreateAccount(ctx context.Context, req *s4wave_provider_spacewave.CreateAccountRequest) (*s4wave_provider_spacewave.CreateAccountResponse, error)
- func (s *SpacewaveProviderResource) GenerateAuthKeypairs(context.Context, *s4wave_provider_spacewave.GenerateAuthKeypairsRequest) (*s4wave_provider_spacewave.GenerateAuthKeypairsResponse, error)
- func (s *SpacewaveProviderResource) GeneratePasskeyPrfSalt(ctx context.Context, ...) (*s4wave_provider_spacewave.GeneratePasskeyPrfSaltResponse, error)
- func (s *SpacewaveProviderResource) GetCloudProviderConfig(ctx context.Context, ...) (*s4wave_provider_spacewave.CloudProviderConfig, error)
- func (s *SpacewaveProviderResource) GetLinkedCloudSession(ctx context.Context, ...) (*s4wave_provider_spacewave.GetLinkedCloudSessionResponse, error)
- func (s *SpacewaveProviderResource) LoginAccount(ctx context.Context, req *s4wave_provider_spacewave.LoginAccountRequest) (*s4wave_provider_spacewave.LoginAccountResponse, error)
- func (s *SpacewaveProviderResource) LoginOrCreateAccount(ctx context.Context, ...) (*s4wave_provider_spacewave.LoginOrCreateAccountResponse, error)
- func (s *SpacewaveProviderResource) LoginWithEntityKey(ctx context.Context, req *s4wave_provider_spacewave.LoginWithEntityKeyRequest) (*s4wave_provider_spacewave.LoginWithEntityKeyResponse, error)
- func (s *SpacewaveProviderResource) MountLinkedDeviceSession(ctx context.Context, ...) (*s4wave_provider_spacewave.MountLinkedDeviceSessionResponse, error)
- func (s *SpacewaveProviderResource) PasskeyAuthOptions(ctx context.Context, req *s4wave_provider_spacewave.PasskeyAuthOptionsRequest) (*s4wave_provider_spacewave.PasskeyAuthOptionsResponse, error)
- func (s *SpacewaveProviderResource) PasskeyAuthVerify(ctx context.Context, req *s4wave_provider_spacewave.PasskeyAuthVerifyRequest) (*s4wave_provider_spacewave.PasskeyAuthVerifyResponse, error)
- func (s *SpacewaveProviderResource) PasskeyCheckUsername(ctx context.Context, ...) (*s4wave_provider_spacewave.PasskeyCheckUsernameResponse, error)
- func (s *SpacewaveProviderResource) PasskeyConfirmSignup(ctx context.Context, ...) (*s4wave_provider_spacewave.PasskeyConfirmSignupResponse, error)
- func (s *SpacewaveProviderResource) PasskeyRegisterChallenge(ctx context.Context, ...) (*s4wave_provider_spacewave.PasskeyRegisterChallengeResponse, error)
- func (s *SpacewaveProviderResource) ReauthenticateSession(ctx context.Context, ...) (*s4wave_provider_spacewave.ReauthenticateSessionResponse, error)
- func (s *SpacewaveProviderResource) RecoverExecute(ctx context.Context, req *s4wave_provider_spacewave.RecoverExecuteRequest) (*s4wave_provider_spacewave.RecoverExecuteResponse, error)
- func (s *SpacewaveProviderResource) RecoverVerify(ctx context.Context, req *s4wave_provider_spacewave.RecoverVerifyRequest) (*s4wave_provider_spacewave.RecoverVerifyResponse, error)
- func (s *SpacewaveProviderResource) RelayDesktopPasskey(ctx context.Context, req *s4wave_provider_spacewave.RelayDesktopPasskeyRequest) (*s4wave_provider_spacewave.RelayDesktopPasskeyResponse, error)
- func (s *SpacewaveProviderResource) RequestRecoveryEmail(ctx context.Context, ...) (*s4wave_provider_spacewave.RequestRecoveryEmailResponse, error)
- func (s *SpacewaveProviderResource) SSOCodeExchange(ctx context.Context, req *s4wave_provider_spacewave.SSOCodeExchangeRequest) (*s4wave_provider_spacewave.SSOCodeExchangeResponse, error)
- func (s *SpacewaveProviderResource) SSONonceExchange(ctx context.Context, req *s4wave_provider_spacewave.SSONonceExchangeRequest) (*s4wave_provider_spacewave.SSOCodeExchangeResponse, error)
- func (s *SpacewaveProviderResource) StartBrowserHandoff(ctx context.Context, req *s4wave_provider_spacewave.StartBrowserHandoffRequest) (*s4wave_provider_spacewave.StartBrowserHandoffResponse, error)
- func (s *SpacewaveProviderResource) StartDesktopPasskey(ctx context.Context, req *s4wave_provider_spacewave.StartDesktopPasskeyRequest) (*s4wave_provider_spacewave.StartDesktopPasskeyResponse, error)
- func (s *SpacewaveProviderResource) StartDesktopSSO(ctx context.Context, req *s4wave_provider_spacewave.StartDesktopSSORequest) (*s4wave_provider_spacewave.StartDesktopSSOResponse, error)
- func (s *SpacewaveProviderResource) UnwrapPemWithPin(ctx context.Context, req *s4wave_provider_spacewave.UnwrapPemWithPinRequest) (*s4wave_provider_spacewave.UnwrapPemWithPinResponse, error)
- func (s *SpacewaveProviderResource) UnwrapWithPasskeyPrf(ctx context.Context, ...) (*s4wave_provider_spacewave.UnwrapWithPasskeyPrfResponse, error)
- func (s *SpacewaveProviderResource) WrapPemWithPin(ctx context.Context, req *s4wave_provider_spacewave.WrapPemWithPinRequest) (*s4wave_provider_spacewave.WrapPemWithPinResponse, error)
- func (s *SpacewaveProviderResource) WrapWithPasskeyPrf(ctx context.Context, req *s4wave_provider_spacewave.WrapWithPasskeyPrfRequest) (*s4wave_provider_spacewave.WrapWithPasskeyPrfResponse, error)
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type LocalProviderResource ¶
type LocalProviderResource struct {
*ProviderResource
// contains filtered or unexported fields
}
LocalProviderResource implements the LocalProviderResourceService.
func NewLocalProviderResource ¶
func NewLocalProviderResource(pr *ProviderResource, le *logrus.Entry, b bus.Bus, prov *provider_local.Provider) *LocalProviderResource
NewLocalProviderResource creates a new LocalProviderResource.
func (*LocalProviderResource) CreateAccount ¶
func (s *LocalProviderResource) CreateAccount( ctx context.Context, req *s4wave_provider_local.CreateAccountRequest, ) (*s4wave_provider_local.CreateAccountResponse, error)
CreateAccount creates a ProviderAccount and Session on the local provider.
type ProviderResource ¶
type ProviderResource struct {
// contains filtered or unexported fields
}
ProviderResource wraps a core provider for resource access.
func NewProviderResource ¶
NewProviderResource creates a new ProviderResource.
func (*ProviderResource) AccessProviderAccount ¶
func (r *ProviderResource) AccessProviderAccount(ctx context.Context, req *s4wave_provider.AccessProviderAccountRequest) (*s4wave_provider.AccessProviderAccountResponse, error)
AccessProviderAccount mounts a provider account and returns a resource ID.
func (*ProviderResource) GetMux ¶
func (r *ProviderResource) GetMux() srpc.Invoker
GetMux returns the rpc mux.
func (*ProviderResource) GetProviderInfo ¶
func (r *ProviderResource) GetProviderInfo(ctx context.Context, req *s4wave_provider.GetProviderInfoRequest) (*s4wave_provider.GetProviderInfoResponse, error)
GetProviderInfo returns information about this provider.
type SpacewaveProviderResource ¶
type SpacewaveProviderResource struct {
*ProviderResource
// contains filtered or unexported fields
}
SpacewaveProviderResource implements the SpacewaveProviderResourceService.
func NewSpacewaveProviderResource ¶
func NewSpacewaveProviderResource(pr *ProviderResource, le *logrus.Entry, b bus.Bus, prov *provider_spacewave.Provider) *SpacewaveProviderResource
NewSpacewaveProviderResource creates a new SpacewaveProviderResource.
func (*SpacewaveProviderResource) ConfirmDesktopPasskey ¶
func (s *SpacewaveProviderResource) ConfirmDesktopPasskey( ctx context.Context, req *s4wave_provider_spacewave.ConfirmDesktopPasskeyRequest, ) (*s4wave_provider_spacewave.ConfirmDesktopPasskeyResponse, error)
ConfirmDesktopPasskey completes native desktop passkey account creation.
func (*SpacewaveProviderResource) ConfirmDesktopSSO ¶
func (s *SpacewaveProviderResource) ConfirmDesktopSSO( ctx context.Context, req *s4wave_provider_spacewave.ConfirmDesktopSSORequest, ) (*s4wave_provider_spacewave.ConfirmDesktopSSOResponse, error)
ConfirmDesktopSSO completes native desktop SSO account creation.
func (*SpacewaveProviderResource) CreateAccount ¶
func (s *SpacewaveProviderResource) CreateAccount( ctx context.Context, req *s4wave_provider_spacewave.CreateAccountRequest, ) (*s4wave_provider_spacewave.CreateAccountResponse, error)
CreateAccount creates an account on the spacewave provider.
func (*SpacewaveProviderResource) GenerateAuthKeypairs ¶
func (s *SpacewaveProviderResource) GenerateAuthKeypairs( context.Context, *s4wave_provider_spacewave.GenerateAuthKeypairsRequest, ) (*s4wave_provider_spacewave.GenerateAuthKeypairsResponse, error)
GenerateAuthKeypairs generates account and session auth key material.
func (*SpacewaveProviderResource) GeneratePasskeyPrfSalt ¶
func (s *SpacewaveProviderResource) GeneratePasskeyPrfSalt( ctx context.Context, _ *s4wave_provider_spacewave.GeneratePasskeyPrfSaltRequest, ) (*s4wave_provider_spacewave.GeneratePasskeyPrfSaltResponse, error)
GeneratePasskeyPrfSalt creates a WebAuthn PRF salt.
func (*SpacewaveProviderResource) GetCloudProviderConfig ¶
func (s *SpacewaveProviderResource) GetCloudProviderConfig( ctx context.Context, req *s4wave_provider_spacewave.GetCloudProviderConfigRequest, ) (*s4wave_provider_spacewave.CloudProviderConfig, error)
GetCloudProviderConfig returns pre-auth provider configuration.
func (*SpacewaveProviderResource) GetLinkedCloudSession ¶
func (s *SpacewaveProviderResource) GetLinkedCloudSession( ctx context.Context, req *s4wave_provider_spacewave.GetLinkedCloudSessionRequest, ) (*s4wave_provider_spacewave.GetLinkedCloudSessionResponse, error)
GetLinkedCloudSession returns the session index of the linked cloud session. Called from a local session context: reads the linked-cloud key from the local provider's ObjectStore, then walks the session list for a spacewave session with the matching provider account ID.
func (*SpacewaveProviderResource) LoginAccount ¶
func (s *SpacewaveProviderResource) LoginAccount( ctx context.Context, req *s4wave_provider_spacewave.LoginAccountRequest, ) (*s4wave_provider_spacewave.LoginAccountResponse, error)
LoginAccount attempts to log in to an existing account without creating one. Returns a result oneof: session on success, is_new_account if the account does not exist, or error_code if the credentials are wrong.
func (*SpacewaveProviderResource) LoginOrCreateAccount ¶
func (s *SpacewaveProviderResource) LoginOrCreateAccount( ctx context.Context, req *s4wave_provider_spacewave.LoginOrCreateAccountRequest, ) (*s4wave_provider_spacewave.LoginOrCreateAccountResponse, error)
LoginOrCreateAccount logs in or creates an account on the spacewave provider.
func (*SpacewaveProviderResource) LoginWithEntityKey ¶
func (s *SpacewaveProviderResource) LoginWithEntityKey( ctx context.Context, req *s4wave_provider_spacewave.LoginWithEntityKeyRequest, ) (*s4wave_provider_spacewave.LoginWithEntityKeyResponse, error)
LoginWithEntityKey creates a session using a pre-resolved entity private key.
func (*SpacewaveProviderResource) MountLinkedDeviceSession ¶ added in v0.51.8
func (s *SpacewaveProviderResource) MountLinkedDeviceSession( ctx context.Context, req *s4wave_provider_spacewave.MountLinkedDeviceSessionRequest, ) (*s4wave_provider_spacewave.MountLinkedDeviceSessionResponse, error)
MountLinkedDeviceSession mounts a SpaceLink-approved DEVICE session.
func (*SpacewaveProviderResource) PasskeyAuthOptions ¶
func (s *SpacewaveProviderResource) PasskeyAuthOptions( ctx context.Context, req *s4wave_provider_spacewave.PasskeyAuthOptionsRequest, ) (*s4wave_provider_spacewave.PasskeyAuthOptionsResponse, error)
PasskeyAuthOptions fetches WebAuthn authentication options from the cloud.
func (*SpacewaveProviderResource) PasskeyAuthVerify ¶
func (s *SpacewaveProviderResource) PasskeyAuthVerify( ctx context.Context, req *s4wave_provider_spacewave.PasskeyAuthVerifyRequest, ) (*s4wave_provider_spacewave.PasskeyAuthVerifyResponse, error)
PasskeyAuthVerify verifies a WebAuthn authentication credential with the cloud.
func (*SpacewaveProviderResource) PasskeyCheckUsername ¶
func (s *SpacewaveProviderResource) PasskeyCheckUsername( ctx context.Context, req *s4wave_provider_spacewave.PasskeyCheckUsernameRequest, ) (*s4wave_provider_spacewave.PasskeyCheckUsernameResponse, error)
PasskeyCheckUsername acknowledges the opaque first passkey step.
func (*SpacewaveProviderResource) PasskeyConfirmSignup ¶
func (s *SpacewaveProviderResource) PasskeyConfirmSignup( ctx context.Context, req *s4wave_provider_spacewave.PasskeyConfirmSignupRequest, ) (*s4wave_provider_spacewave.PasskeyConfirmSignupResponse, error)
PasskeyConfirmSignup confirms browser-owned passkey signup for the web flow.
func (*SpacewaveProviderResource) PasskeyRegisterChallenge ¶
func (s *SpacewaveProviderResource) PasskeyRegisterChallenge( ctx context.Context, req *s4wave_provider_spacewave.PasskeyRegisterChallengeRequest, ) (*s4wave_provider_spacewave.PasskeyRegisterChallengeResponse, error)
PasskeyRegisterChallenge fetches WebAuthn registration options for signup.
func (*SpacewaveProviderResource) ReauthenticateSession ¶
func (s *SpacewaveProviderResource) ReauthenticateSession(ctx context.Context, req *s4wave_provider_spacewave.ReauthenticateSessionRequest) (*s4wave_provider_spacewave.ReauthenticateSessionResponse, error)
ReauthenticateSession re-authenticates a session whose key became stale. Derives an entity key from the credential, verifies with the cloud, generates a new session key, and clears the UNAUTHENTICATED status.
func (*SpacewaveProviderResource) RecoverExecute ¶
func (s *SpacewaveProviderResource) RecoverExecute( ctx context.Context, req *s4wave_provider_spacewave.RecoverExecuteRequest, ) (*s4wave_provider_spacewave.RecoverExecuteResponse, error)
RecoverExecute completes account recovery by deriving a new password keypair, signing the recovery request, and registering the new keypair.
func (*SpacewaveProviderResource) RecoverVerify ¶
func (s *SpacewaveProviderResource) RecoverVerify( ctx context.Context, req *s4wave_provider_spacewave.RecoverVerifyRequest, ) (*s4wave_provider_spacewave.RecoverVerifyResponse, error)
RecoverVerify verifies a recovery token from an email link.
func (*SpacewaveProviderResource) RelayDesktopPasskey ¶
func (s *SpacewaveProviderResource) RelayDesktopPasskey( ctx context.Context, req *s4wave_provider_spacewave.RelayDesktopPasskeyRequest, ) (*s4wave_provider_spacewave.RelayDesktopPasskeyResponse, error)
RelayDesktopPasskey relays a browser ceremony result back to native alpha.
func (*SpacewaveProviderResource) RequestRecoveryEmail ¶
func (s *SpacewaveProviderResource) RequestRecoveryEmail( ctx context.Context, req *s4wave_provider_spacewave.RequestRecoveryEmailRequest, ) (*s4wave_provider_spacewave.RequestRecoveryEmailResponse, error)
RequestRecoveryEmail requests a recovery email from the cloud.
func (*SpacewaveProviderResource) SSOCodeExchange ¶
func (s *SpacewaveProviderResource) SSOCodeExchange( ctx context.Context, req *s4wave_provider_spacewave.SSOCodeExchangeRequest, ) (*s4wave_provider_spacewave.SSOCodeExchangeResponse, error)
SSOCodeExchange exchanges an OAuth authorization code for account info.
func (*SpacewaveProviderResource) SSONonceExchange ¶
func (s *SpacewaveProviderResource) SSONonceExchange( ctx context.Context, req *s4wave_provider_spacewave.SSONonceExchangeRequest, ) (*s4wave_provider_spacewave.SSOCodeExchangeResponse, error)
SSONonceExchange exchanges an auth-session nonce for the stored SSO result.
func (*SpacewaveProviderResource) StartBrowserHandoff ¶
func (s *SpacewaveProviderResource) StartBrowserHandoff( ctx context.Context, req *s4wave_provider_spacewave.StartBrowserHandoffRequest, ) (*s4wave_provider_spacewave.StartBrowserHandoffResponse, error)
StartBrowserHandoff opens the browser auth handoff flow on native builds.
func (*SpacewaveProviderResource) StartDesktopPasskey ¶
func (s *SpacewaveProviderResource) StartDesktopPasskey( ctx context.Context, req *s4wave_provider_spacewave.StartDesktopPasskeyRequest, ) (*s4wave_provider_spacewave.StartDesktopPasskeyResponse, error)
StartDesktopPasskey starts the native desktop passkey flow on native builds.
func (*SpacewaveProviderResource) StartDesktopSSO ¶
func (s *SpacewaveProviderResource) StartDesktopSSO( ctx context.Context, req *s4wave_provider_spacewave.StartDesktopSSORequest, ) (*s4wave_provider_spacewave.StartDesktopSSOResponse, error)
StartDesktopSSO starts the native desktop SSO flow on native builds.
func (*SpacewaveProviderResource) UnwrapPemWithPin ¶
func (s *SpacewaveProviderResource) UnwrapPemWithPin( ctx context.Context, req *s4wave_provider_spacewave.UnwrapPemWithPinRequest, ) (*s4wave_provider_spacewave.UnwrapPemWithPinResponse, error)
UnwrapPemWithPin unwraps an entity PEM with age scrypt PIN encryption.
func (*SpacewaveProviderResource) UnwrapWithPasskeyPrf ¶
func (s *SpacewaveProviderResource) UnwrapWithPasskeyPrf( ctx context.Context, req *s4wave_provider_spacewave.UnwrapWithPasskeyPrfRequest, ) (*s4wave_provider_spacewave.UnwrapWithPasskeyPrfResponse, error)
UnwrapWithPasskeyPrf unwraps an auth blob with the WebAuthn PRF output.
func (*SpacewaveProviderResource) WrapPemWithPin ¶
func (s *SpacewaveProviderResource) WrapPemWithPin( ctx context.Context, req *s4wave_provider_spacewave.WrapPemWithPinRequest, ) (*s4wave_provider_spacewave.WrapPemWithPinResponse, error)
WrapPemWithPin wraps an entity PEM with age scrypt PIN encryption.
func (*SpacewaveProviderResource) WrapWithPasskeyPrf ¶
func (s *SpacewaveProviderResource) WrapWithPasskeyPrf( ctx context.Context, req *s4wave_provider_spacewave.WrapWithPasskeyPrfRequest, ) (*s4wave_provider_spacewave.WrapWithPasskeyPrfResponse, error)
WrapWithPasskeyPrf wraps an auth blob with the WebAuthn PRF output.