MCPcopy Create free account
hub / github.com/Mnexa-AI/e2a / CreateAccessTokenSession

Method CreateAccessTokenSession

internal/oauth/storage.go:300–323  ·  view source on GitHub ↗

───────────────────────── AccessTokenStorage ─────────────────────────

(ctx context.Context, signature string, request fosite.Requester)

Source from the content-addressed store, hash-verified

298// ───────────────────────── AccessTokenStorage ─────────────────────────
299
300func (s *Storage) CreateAccessTokenSession(ctx context.Context, signature string, request fosite.Requester) error {
301 raw, err := marshalRequest(request)
302 if err != nil {
303 return err
304 }
305 sess, _ := request.GetSession().(*Session)
306 userID := ""
307 expiresAt := request.GetRequestedAt().Add(time.Hour) // fosite default
308 if sess != nil {
309 userID = sess.UserID
310 if t := sess.GetExpiresAt(fosite.AccessToken); !t.IsZero() {
311 expiresAt = t
312 }
313 }
314 _, err = s.db(ctx).Exec(ctx, `
315 INSERT INTO oauth_access_tokens
316 (signature, request_id, client_id, user_id, request,
317 requested_at, expires_at)
318 VALUES ($1, $2, $3, $4, $5, $6, $7)
319 `, signature, request.GetID(), request.GetClient().GetID(), userID,
320 raw, request.GetRequestedAt(), expiresAt,
321 )
322 return err
323}
324
325func (s *Storage) GetAccessTokenSession(ctx context.Context, signature string, session fosite.Session) (fosite.Requester, error) {
326 var raw []byte

Calls 6

dbMethod · 0.95
marshalRequestFunction · 0.85
GetExpiresAtMethod · 0.80
GetIDMethod · 0.80
GetClientMethod · 0.80
ExecMethod · 0.65