Raw
 1package idp
 2
 3import (
 4	"context"
 5	"fmt"
 6)
 7
 8func (p *IDP) CodeEpoch(ctx context.Context, code string) (string, int64, string, error) {
 9	c, err := p.dex.GetAuthCode(ctx, code)
10	if err != nil {
11		return "", 0, "", fmt.Errorf("idp: read the authorization code: %w", err)
12	}
13	if c.ConnectorID != ConnectorID {
14		return "", 0, "", ErrWrongConnector
15	}
16	userID, epoch, browser, err := parseGrant(c.ConnectorData)
17	if err != nil || userID != c.Claims.UserID {
18		return "", 0, "", ErrGrantMalformed
19	}
20	return userID, epoch, browser, nil
21}