account.refreshSession
import { Client, Orvano } from '@orvano/js'
const orvano = new Orvano(new Client({ endpoint: 'https://orvano.example.com' }))
const sessionTokens = await orvano.account.refreshSession({ refreshToken: 'orv_rt_AZJPXo0rfE2OIT1ebzqLnA.Zm9vYmFyZm9vYmFyZm9vYmFyZm9vYmFyZm9vYmFyZm9v',})console.log(sessionTokens)// app/page.tsx, a server component. Route handlers and server actions use createServerClient too.import { cookies } from 'next/headers'import { createServerClient } from '@orvano/nextjs'
export default async function Page() { const orvano = createServerClient({ endpoint: process.env.ORVANO_ENDPOINT!, cookies: await cookies(), }) const sessionTokens = await orvano.account.refreshSession({ refreshToken: 'orv_rt_AZJPXo0rfE2OIT1ebzqLnA.Zm9vYmFyZm9vYmFyZm9vYmFyZm9vYmFyZm9vYmFyZm9v', }) return <pre>{JSON.stringify(sessionTokens, null, 2)}</pre>}import 'package:orvano_flutter/orvano_flutter.dart';
Future<void> main() async { final orvano = Orvano(Client(endpoint: 'https://orvano.example.com')); final sessionTokens = await orvano.account.refreshSession( RefreshSessionRequest( refreshToken: 'orv_rt_AZJPXo0rfE2OIT1ebzqLnA.Zm9vYmFyZm9vYmFyZm9vYmFyZm9vYmFyZm9vYmFyZm9v', ), ); print(sessionTokens.toJson());}Trades the current refresh token for a new pair. The old token keeps answering with the same pair for 10 seconds, so a retry is safe.
Client SDKs: JavaScript in the browser, Next.js, and Flutter call it for the signed in user, or with no credential. A failure answers with a problem details body; its code has a page under Errors.
Request Bodyrequired
Section titled “Request Bodyrequired”A trade of a refresh token for a new pair.
object
The session’s current refresh token.
Responses
Section titled “Responses”The request has succeeded.
A session’s tokens. Send the access token as Authorization: Bearer; trade the refresh token for a new pair
before the access token expires. The SDKs do both for you.
object
An ES256 JWT, valid for 15 minutes.
When the access token expires.
Trades itself for a new pair once; keep it secret.
When the session ends unless it refreshes first: 30 days idle, or 365 days after sign in.
The session ID, also the sid claim of the access token.
Example
{ "accessToken": "eyJhbGciOiJFUzI1NiIsImtpZCI6Ii4uLiJ9.e30.c2ln", "refreshToken": "orv_rt_AZJPXo0rfE2OIT1ebzqLnA.Zm9vYmFyZm9vYmFyZm9vYmFyZm9vYmFyZm9vYmFyZm9v", "sessionId": "01924f5e-9a1b-7c4d-8e21-3d5e6f7a8b9c"}default
Section titled “default”An unexpected error response.
An RFC 9457 problem details body. Every operation declares it as its default response, sent
as application/problem+json.
object
Identifies the error: https://orvano.dev/errors/<code>.
The standard HTTP reason phrase for the status.
The HTTP status code.
A short, safe sentence about this occurrence, when the server has one.
Orvano’s stable error code, from the ErrorCode catalog. SDKs treat it as a plain string.
The request ID to quote when reporting a problem; also sent as X-Request-Id.
Example
{ "type": "https://orvano.dev/errors/not_found", "title": "Not Found", "status": 404, "code": "not_found", "requestId": "4bf92f3577b34da6a3ce929d0e0e4736"}