evcc-io/vehicle/bmw/cardata/token.go
2026-02-12 15:56:06 +01:00

26 lines
482 B
Go

package cardata
import (
"golang.org/x/oauth2"
)
type Token struct {
*oauth2.Token
IdToken string `json:"id_token"`
Gcid string `json:"gcid"`
}
func (t *Token) TokenEx() *oauth2.Token {
return t.Token.WithExtra(map[string]any{
"id_token": t.IdToken,
"gcid": t.Gcid,
})
}
// TokenExtra returns extra string properties of the oauth2.Token
func TokenExtra(t *oauth2.Token, key string) string {
if v := t.Extra(key); v != nil {
return v.(string)
}
return ""
}