Documentation ¶
Index ¶
Constants ¶
View Source
const SwitchAccountFlagKey = "switch-account"
View Source
const SwitchOrgFlagKey = "switch-org"
Variables ¶
View Source
var LoginCmd = &cobra.Command{ Use: "login", GroupID: groups.AccountsGroup.ID, Short: "Login to Otterize Cloud", Args: cobra.NoArgs, SilenceUsage: true, RunE: func(_ *cobra.Command, _ []string) error { getConfCtxTimeout, cancel := context.WithTimeout(context.Background(), config.DefaultTimeout) defer cancel() otterizeAPIAddress := viper.GetString(config.OtterizeAPIAddressKey) authClient := auth_api.NewClient(otterizeAPIAddress) auth0Config, err := authClient.GetAuth0Config(getConfCtxTimeout) if err != nil { return err } loginServer := server.NewLoginServer(auth0Config) loginServer.Start() loginUrl := loginServer.GetLoginUrl(viper.GetBool(SwitchAccountFlagKey)) if err := browser.OpenURL(loginUrl); err != nil { logrus.Warning("Failed to open browser:", err) } prints.PrintCliStderr("Please login to Otterize using your browser: %s", loginUrl) authResult := <-loginServer.GetAuthResultChannel() prints.PrintCliStderr("Login completed successfully! logged in as: %s", authResult.Profile["email"]) apiAddress := viper.GetString(config.OtterizeAPIAddressKey) loginCtx, err := userlogin.NewContext(apiAddress, authResult.AccessToken) if err != nil { return err } if err := loginCtx.EnsureUserRegistered(); err != nil { return err } selectedOrgId, err := loginCtx.SelectOrg(viper.GetString(config.ApiSelectedOrganizationId), viper.GetBool(SwitchOrgFlagKey)) if err != nil { return err } if err := config.SaveConfig(config.Config{ UserToken: authResult.AccessToken, Expiry: authResult.Expiry, OrganizationId: selectedOrgId, }); err != nil { return err } prints.PrintCliStderr("To change your organization selection, log-in again with --%s.", SwitchOrgFlagKey) return nil }, }
Functions ¶
This section is empty.
Types ¶
This section is empty.
Click to show internal directories.
Click to hide internal directories.