Siirry pääsisältöön
Päätepisteen /mcp vaatii Supabase-access_token-merkkijonon, joka välitetään Bearer-tunnuksena. Useimmat MCP-asiakkaat hankkivat tämän automaattisesti OAuth 2.1 PKCE -virran kautta. Voit myös toimittaa merkkijonon manuaalisesti testausta varten.

OAuth 2.1 PKCE -virta

Flowstep toteuttaa täydellisen OAuth 2.1 -valtuutuspalvelimen osoitteessa https://api.flowstep.ai. MCP-asiakkaat löytävät sen tavallisten RFC-metadatapaatteista.

Discovery-ketju

Client                       Flowstep API

  ├─ 1. POST /mcp (no token) ──────────────────────────► 401
  │        WWW-Authenticate: Bearer resource_metadata=
  │        "https://api.flowstep.ai/.well-known/oauth-protected-resource"

  ├─ 2. GET /.well-known/oauth-protected-resource ──────► { authorization_servers: ["https://api.flowstep.ai"] }

  ├─ 3. GET /.well-known/oauth-authorization-server ────► { authorization_endpoint, token_endpoint, ... }

  ├─ 4. Client generates PKCE pair (code_verifier + code_challenge S256)
  │     Opens browser → https://api.flowstep.ai/oauth/authorize
  │     User logs in (email/password or Google SSO)

  ├─ 5. Server redirects → http://127.0.0.1:<port>?code=AUTH_CODE
  │     (client's temporary local HTTP server captures this)

  ├─ 6. Client sends code + code_verifier → POST /oauth/token
  │     ◄──────────────────────────────────────── { access_token, refresh_token }

  └─ 7. Client sends Authorization: Bearer <access_token> on all /mcp requests

OAuth-päätepisteet

MenetelmäPäätepisteen nimiTarkoitus
GET/.well-known/oauth-protected-resourceRFC 9728 resurssin metatieto
GET/.well-known/oauth-authorization-serverRFC 8414 palvelimen metatieto
POST/oauth/registerRFC 7591 dynaaminen asiakkaiden rekisteröinti
GET/oauth/authorizeNäytä kirjautumislomake
POST/oauth/authorizeKäsittele sähköpostin ja salasanan kirjautuminen
GET/POST/oauth/social-callbackGoogle SSO -takaisinsoitto
POST/oauth/tokenKoodin vaihto ja merkkijonon päivitys

Tuetut kirjautumismenetelmät

Valtuutussivu osoitteessa /oauth/authorize tukee:
  • Sähköposti ja salasana — kaikki Flowstepin tilit, joissa on salasana asetettu
  • Google SSO — ohjaa Supabasen sosiaalisen todennuksen kautta, palaa asiakkaalle automaattisesti

Tilin luominen claude.ai-liitäntäkäyttäjille

OAuth-kirjautumissivu ei sisällä rekisteröitymislomaketta. Jos yhdistät claude.ai:n mukautetun liitäntimen kautta ja sinulla ei ole vielä Flowstepin tiliä, luo se ensin osoitteessa app.flowstep.ai, sitten palaa liitäntimen asetuksiin todentamisen jatkamiseksi.

Merkkijonon mekaniikka

OminaisuusArvo
Merkkijono-tyyppiSupabase JWT (Bearer)
Access-merkkijonon voimassaoloaika~1 tunti (palvelin päivittää sen automaattisesti)
MCP-istunnon elinikä30 päivää
Merkkijonon päivitysKäsitellään palvelimen puolella — palvelin päivittää taustalla olevan istunnon automaattisesti; MCP-asiakkaat eivät hallinnoi päivitystä itse
Oikeustuskoodin TTL5 minuuttia (kertaluonteinen)
Odottavan sosiaalisen todennuksen TTL10 minuuttia
Laajuudetopenid, offline_access
Merkkijonot validoidaan jokaisessa pyynnössä komennolla supabase.auth.getUser(token). Vanhentuneet tai virheelliset merkkijonot palauttavat 401 ja WWW-Authenticate-otsikon, mikä käynnistää asiakkaan uudelleentodennuksen.

Evästeen takaisinotto

Jos Authorization-otsikkoa ei ole saatavilla, ohjelmisto palaa Supabasen evästepohjaisen istunnon käyttöön. Tämä toimii, kun käytät /mcp-päätepistettä suoraan selaimesta aktiivisella Flowstepin istunnolla. MCP-asiakkaat käyttävät aina Bearer-polkua.

Manuaalinen merkkijono (testaus)

Voit kutsua päätepistettä suoraan ilman asiakkaan OAuth-virtaa:
  1. Kirjaudu sisään osoitteeseen app.flowstep.ai selaimessasi
  2. Avaa DevTools → Console ja aja:
const pairs = document.cookie.split("; ").map((c) => {
  const i = c.indexOf("=");
  return [c.slice(0, i), c.slice(i + 1)];
});
const authPairs = pairs
  .filter(([k]) => /^sb-.+-auth-token(\.\d+)?$/.test(k))
  .sort(([a], [b]) => a.localeCompare(b));
const raw = authPairs.map(([, v]) => decodeURIComponent(v)).join("");
const session = JSON.parse(
  raw.startsWith("base64-") ? atob(raw.slice(7)) : raw,
);
console.log(session.access_token);
  1. Välitä merkkijono otsikkona:
curl -X POST https://api.flowstep.ai/mcp \
  -H "Authorization: Bearer <access_token>" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
MCP-istunnot kestävät 30 päivää — palvelin päivittää taustalla olevan merkkijonon automaattisesti, joten asiakkaat, jotka käyttävät OAuth-virtaa, eivät tarvitse uudelleentodentamista normaalin käytön aikana. Manuaalisesti poimittu merkkijono, kuten yllä oleva, vanhenee silti noin tunnin kuluttua; se on tarkoitettu nopeisiin testeihin.