Skip to content
This repository has been archived by the owner on Oct 23, 2023. It is now read-only.

Commit

Permalink
Added unmarshal attribute for expires_in for device flow auth token
Browse files Browse the repository at this point in the history
Signed-off-by: pmahindrakar-oss <[email protected]>
  • Loading branch information
pmahindrakar-oss committed Jan 31, 2023
1 parent c60305c commit c1ec3fc
Show file tree
Hide file tree
Showing 3 changed files with 7 additions and 1 deletion.
3 changes: 2 additions & 1 deletion clients/go/admin/deviceflow/payload.go
Original file line number Diff line number Diff line change
Expand Up @@ -40,5 +40,6 @@ type DeviceAccessTokenRequest struct {

type DeviceAccessTokenResponse struct {
oauth2.Token
Error string `json:"error"`
Error string `json:"error"`
ExpiresIn int64 `json:"expires_in"` // relative seconds from now
}
3 changes: 3 additions & 0 deletions clients/go/admin/deviceflow/token_orchestrator.go
Original file line number Diff line number Diff line change
Expand Up @@ -131,6 +131,9 @@ func (t TokenOrchestrator) PollTokenEndpoint(ctx context.Context, tokReq DeviceA
return nil, fmt.Errorf("oauth error : %v", tokResp.Error)
}
} else {
if secs := tokResp.ExpiresIn; secs > 0 {
tokResp.Token.Expiry = time.Now().Add(time.Duration(secs) * time.Second)
}
// Got the auth token in the response and save it in the cache
err = t.TokenCache.SaveToken(&tokResp.Token)
// Saving into the cache is only considered to be a warning in this case.
Expand Down
2 changes: 2 additions & 0 deletions clients/go/admin/deviceflow/token_orchestrator_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -87,6 +87,7 @@ func TestFetchFromAuthFlow(t *testing.T) {
Token: oauth2.Token{
AccessToken: "access_token",
},
ExpiresIn: 300,
}
darBytes, err := json.Marshal(dar)
assert.Nil(t, err)
Expand Down Expand Up @@ -121,5 +122,6 @@ func TestFetchFromAuthFlow(t *testing.T) {
assert.Nil(t, err)
assert.NotNil(t, authToken)
assert.Equal(t, "access_token", authToken.AccessToken)
assert.True(t, authToken.Expiry.After(time.Now().Add(time.Second*200)))
})
}

0 comments on commit c1ec3fc

Please sign in to comment.