MCPcopy Index your code
hub / github.com/cloudfoundry/cli / decodeUserFromJWT

Function decodeUserFromJWT

util/configv3/default_user_config.go:27–58  ·  view source on GitHub ↗
(accessToken string)

Source from the content-addressed store, hash-verified

25}
26
27func decodeUserFromJWT(accessToken string) (User, error) {
28 if accessToken == "" {
29 return User{}, nil
30 }
31
32 token, err := jws.ParseJWT([]byte(accessToken[7:]))
33 if err != nil {
34 return User{}, err
35 }
36
37 claims := token.Claims()
38
39 var name, GUID, origin string
40 var isClient bool
41 if claims.Has("user_name") {
42 name = claims.Get("user_name").(string)
43 GUID = claims.Get("user_id").(string)
44 origin = claims.Get("origin").(string)
45 isClient = false
46 } else {
47 name = claims.Get("client_id").(string)
48 GUID = name
49 isClient = true
50 }
51
52 return User{
53 Name: name,
54 GUID: GUID,
55 Origin: origin,
56 IsClient: isClient,
57 }, nil
58}

Callers 1

CurrentUserMethod · 0.85

Calls 2

HasMethod · 0.65
GetMethod · 0.65

Tested by

no test coverage detected