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

Method RefreshAccessToken

actor/v7action/token.go:11–38  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

9)
10
11func (actor Actor) RefreshAccessToken() (string, error) {
12 var expiresIn time.Duration
13
14 refreshToken := actor.Config.RefreshToken()
15
16 accessTokenString := strings.TrimPrefix(actor.Config.AccessToken(), "bearer ")
17 token, err := jws.ParseJWT([]byte(accessTokenString))
18
19 if err == nil {
20 expiration, ok := token.Claims().Expiration()
21 if ok {
22 expiresIn = time.Until(expiration)
23 }
24 }
25
26 if err != nil || expiresIn < time.Minute {
27 tokens, err := actor.UAAClient.RefreshAccessToken(refreshToken)
28 if err != nil {
29 return "", err
30 }
31
32 actor.Config.SetAccessToken(tokens.AuthorizationToken())
33 actor.Config.SetRefreshToken(tokens.RefreshToken)
34
35 return tokens.AuthorizationToken(), nil
36 }
37 return actor.Config.AccessToken(), nil
38}
39
40func (actor Actor) ParseAccessToken(accessToken string) (jwt.JWT, error) {
41 tokenStr := strings.TrimPrefix(accessToken, "bearer ")

Callers 1

Implementers 1

FakeActorcommand/v7/v7fakes/fake_actor.go

Calls 6

AuthorizationTokenMethod · 0.80
RefreshTokenMethod · 0.65
AccessTokenMethod · 0.65
RefreshAccessTokenMethod · 0.65
SetAccessTokenMethod · 0.65
SetRefreshTokenMethod · 0.65

Tested by

no test coverage detected