MCPcopy
hub / github.com/cloudflare/cloudflared / login

Function login

cmd/cloudflared/access/cmd.go:243–292  ·  view source on GitHub ↗

login pops up the browser window to do the actual login and JWT generation

(c *cli.Context)

Source from the content-addressed store, hash-verified

241
242// login pops up the browser window to do the actual login and JWT generation
243func 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
295func curl(c *cli.Context) error {

Callers

nothing calls this directly

Calls 8

CreateLoggerFromContextFunction · 0.92
GetAppInfoFunction · 0.92
GetAppTokenIfExistsFunction · 0.92
getAppURLFromArgsFunction · 0.85
verifyTokenAtEdgeFunction · 0.85
BoolMethod · 0.80
ErrorMethod · 0.45
ErrMethod · 0.45

Tested by

no test coverage detected