MCPcopy
hub / github.com/tinyauthapp/tinyauth / GetCodeEntry

Method GetCodeEntry

internal/service/oidc_service.go:375–402  ·  view source on GitHub ↗
(c *gin.Context, codeHash string, clientId string)

Source from the content-addressed store, hash-verified

373}
374
375func (service *OIDCService) GetCodeEntry(c *gin.Context, codeHash string, clientId string) (repository.OidcCode, error) {
376 oidcCode, err := service.queries.GetOidcCode(c, codeHash)
377
378 if err != nil {
379 if errors.Is(err, sql.ErrNoRows) {
380 return repository.OidcCode{}, ErrCodeNotFound
381 }
382 return repository.OidcCode{}, err
383 }
384
385 if time.Now().Unix() > oidcCode.ExpiresAt {
386 err = service.queries.DeleteOidcCode(c, codeHash)
387 if err != nil {
388 return repository.OidcCode{}, err
389 }
390 err = service.DeleteUserinfo(c, oidcCode.Sub)
391 if err != nil {
392 return repository.OidcCode{}, err
393 }
394 return repository.OidcCode{}, ErrCodeExpired
395 }
396
397 if oidcCode.ClientID != clientId {
398 return repository.OidcCode{}, ErrInvalidClient
399 }
400
401 return oidcCode, nil
402}
403
404func (service *OIDCService) generateIDToken(client config.OIDCClientConfig, user repository.OidcUserinfo, scope string, nonce string) (string, error) {
405 createdAt := time.Now().Unix()

Callers 1

TokenMethod · 0.80

Calls 3

DeleteUserinfoMethod · 0.95
GetOidcCodeMethod · 0.80
DeleteOidcCodeMethod · 0.80

Tested by

no test coverage detected