GenerateTokenExtra generates the extra token data to store in the database.
(token *oauth2.Token)
| 157 | |
| 158 | // GenerateTokenExtra generates the extra token data to store in the database. |
| 159 | func (c *Config) GenerateTokenExtra(token *oauth2.Token) (pqtype.NullRawMessage, error) { |
| 160 | if len(c.ExtraTokenKeys) == 0 { |
| 161 | return pqtype.NullRawMessage{}, nil |
| 162 | } |
| 163 | extraMap := map[string]any{} |
| 164 | for _, key := range c.ExtraTokenKeys { |
| 165 | extraMap[key] = token.Extra(key) |
| 166 | } |
| 167 | data, err := json.Marshal(extraMap) |
| 168 | if err != nil { |
| 169 | return pqtype.NullRawMessage{}, err |
| 170 | } |
| 171 | return pqtype.NullRawMessage{ |
| 172 | RawMessage: data, |
| 173 | Valid: true, |
| 174 | }, nil |
| 175 | } |
| 176 | |
| 177 | // InvalidTokenError is a case where the "RefreshToken" failed to complete |
| 178 | // as a result of invalid credentials. Error contains the reason of the failure. |
no test coverage detected