───────────────────────── AccessTokenStorage ─────────────────────────
(ctx context.Context, signature string, request fosite.Requester)
| 298 | // ───────────────────────── AccessTokenStorage ───────────────────────── |
| 299 | |
| 300 | func (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 | |
| 325 | func (s *Storage) GetAccessTokenSession(ctx context.Context, signature string, session fosite.Session) (fosite.Requester, error) { |
| 326 | var raw []byte |