(ctx context.Context, dcr DeviceCodeResponse)
| 105 | } |
| 106 | |
| 107 | func (c *Client) getDeviceCodeTokens(ctx context.Context, dcr DeviceCodeResponse) (Tokens, error) { |
| 108 | var res tokenResponse |
| 109 | err := c.post(ctx, "/oauth/token", tokenRequest{ |
| 110 | ClientID: c.config.ClientID, |
| 111 | DeviceCode: dcr.DeviceCode, |
| 112 | GrantType: "urn:ietf:params:oauth:grant-type:device_code", |
| 113 | }, &res) |
| 114 | if err != nil { |
| 115 | return Tokens{}, err |
| 116 | } |
| 117 | return Tokens{ |
| 118 | Access: res.AccessToken, |
| 119 | Expiration: time.Now().Add(time.Duration(res.ExpiresIn) * time.Second), |
| 120 | ID: res.IDToken, |
| 121 | Refresh: res.RefreshToken, |
| 122 | }, nil |
| 123 | } |
| 124 | |
| 125 | func (c *Client) RefreshToken(ctx context.Context, refreshToken string) (Tokens, error) { |
| 126 | var res tokenResponse |
no test coverage detected