MCPcopy
hub / github.com/zitadel/oidc / exchangeRefreshToken

Method exchangeRefreshToken

example/server/storage/storage.go:316–332  ·  view source on GitHub ↗
(ctx context.Context, request op.TokenExchangeRequest)

Source from the content-addressed store, hash-verified

314}
315
316func (s *Storage) exchangeRefreshToken(ctx context.Context, request op.TokenExchangeRequest) (accessTokenID string, newRefreshToken string, expiration time.Time, err error) {
317 applicationID := request.GetClientID()
318 authTime := request.GetAuthTime()
319
320 refreshTokenID := uuid.NewString()
321 accessToken, err := s.accessToken(applicationID, refreshTokenID, request.GetSubject(), request.GetAudience(), request.GetScopes())
322 if err != nil {
323 return "", "", time.Time{}, err
324 }
325
326 refreshToken, err := s.createRefreshToken(accessToken, nil, authTime)
327 if err != nil {
328 return "", "", time.Time{}, err
329 }
330
331 return accessToken.ID, refreshToken, accessToken.Expiration, nil
332}
333
334// TokenRequestByRefreshToken implements the op.Storage interface
335// it will be called after parsing and validation of the refresh token request

Callers 1

Implementers 7

Storageexample/server/storage/storage.go
multiStorageexample/server/storage/storage_dynamic
UnimplementedServerpkg/op/server.go
LegacyServerpkg/op/server_legacy.go
Sigpkg/op/mock/authorizer.mock.impl.go
MockStoragepkg/op/mock/storage.mock.go
MockStorageMockRecorderpkg/op/mock/storage.mock.go

Calls 7

accessTokenMethod · 0.95
createRefreshTokenMethod · 0.95
GetClientIDMethod · 0.65
GetAuthTimeMethod · 0.65
GetSubjectMethod · 0.65
GetAudienceMethod · 0.65
GetScopesMethod · 0.65

Tested by

no test coverage detected