login pops up the browser window to do the actual login and JWT generation
(c *cli.Context)
| 241 | |
| 242 | // login pops up the browser window to do the actual login and JWT generation |
| 243 | func login(c *cli.Context) error { |
| 244 | err := sentry.Init(sentry.ClientOptions{ |
| 245 | Dsn: sentryDSN, |
| 246 | Release: c.App.Version, |
| 247 | }) |
| 248 | if err != nil { |
| 249 | return err |
| 250 | } |
| 251 | |
| 252 | log := logger.CreateLoggerFromContext(c, logger.EnableTerminalLog) |
| 253 | |
| 254 | appURL, err := getAppURLFromArgs(c) |
| 255 | if err != nil { |
| 256 | log.Error().Msg("Please provide the url of the Access application") |
| 257 | return err |
| 258 | } |
| 259 | |
| 260 | appInfo, err := token.GetAppInfo(appURL) |
| 261 | if err != nil { |
| 262 | return err |
| 263 | } |
| 264 | |
| 265 | if err := verifyTokenAtEdge(appURL, appInfo, c, log); err != nil { |
| 266 | log.Err(err).Msg("Could not verify token") |
| 267 | return err |
| 268 | } |
| 269 | |
| 270 | cfdToken, err := token.GetAppTokenIfExists(appInfo) |
| 271 | if err != nil { |
| 272 | fmt.Fprintln(os.Stderr, "Unable to find token for provided application.") |
| 273 | return err |
| 274 | } else if cfdToken == "" { |
| 275 | fmt.Fprintln(os.Stderr, "token for provided application was empty.") |
| 276 | return errors.New("empty application token") |
| 277 | } |
| 278 | |
| 279 | if c.Bool(loginQuietFlag) { |
| 280 | return nil |
| 281 | } |
| 282 | |
| 283 | // Chatty by default for backward compat. The new --app flag |
| 284 | // is an implicit opt-out of the backwards-compatible chatty output. |
| 285 | if c.Bool("no-verbose") || c.IsSet(appURLFlag) { |
| 286 | fmt.Fprint(os.Stdout, cfdToken) |
| 287 | } else { |
| 288 | fmt.Fprintf(os.Stdout, "Successfully fetched your token:\n\n%s\n\n", cfdToken) |
| 289 | } |
| 290 | |
| 291 | return nil |
| 292 | } |
| 293 | |
| 294 | // curl provides a wrapper around curl, passing Access JWT along in request |
| 295 | func curl(c *cli.Context) error { |
nothing calls this directly
no test coverage detected