21 lines
765 B
SQL
21 lines
765 B
SQL
-- Migration: Add OAuth token storage
|
|
-- This table stores OAuth2 access tokens and refresh tokens from external providers
|
|
-- Used for refreshing user sessions without re-authentication
|
|
|
|
CREATE TABLE IF NOT EXISTS oauth_tokens (
|
|
id UUID PRIMARY KEY DEFAULT uuid_generate_v4(),
|
|
user_id UUID NOT NULL REFERENCES users(id) ON DELETE CASCADE,
|
|
provider VARCHAR(50) NOT NULL,
|
|
access_token TEXT NOT NULL,
|
|
refresh_token TEXT,
|
|
token_type VARCHAR(50) DEFAULT 'Bearer',
|
|
expires_at TIMESTAMPTZ NOT NULL,
|
|
scope TEXT,
|
|
created_at TIMESTAMPTZ DEFAULT NOW(),
|
|
updated_at TIMESTAMPTZ DEFAULT NOW(),
|
|
|
|
CONSTRAINT oauth_tokens_user_id_provider_key UNIQUE (user_id, provider)
|
|
);
|
|
|
|
CREATE INDEX idx_oauth_tokens_user_id ON oauth_tokens(user_id);
|