Ephemeral tokens

Tokenët efemeralë janë tokenë vërtetimi jetëshkurtër për qasje në Gemini API përmes WebSockets . Ato janë të dizajnuara për të rritur sigurinë kur lidheni direkt nga pajisja e një përdoruesi me API-në (një implementim klient-server ). Ashtu si çelësat standardë të API-së, tokenët efemeralë mund të nxirren nga aplikacionet në anën e klientit, siç janë shfletuesit e internetit ose aplikacionet mobile. Por, për shkak se tokenët efemeralë skadojnë shpejt dhe mund të kufizohen, ato zvogëlojnë ndjeshëm rreziqet e sigurisë në një mjedis prodhimi. Duhet t'i përdorni ato kur hyni në Live API direkt nga aplikacionet në anën e klientit për të rritur sigurinë e çelësave të API-së.

Si funksionojnë tokenët e përkohshëm

Ja se si funksionojnë tokenët epemeralë në një nivel të lartë:

  1. Klienti juaj (p.sh. aplikacioni web) autentifikohet me backend-in tuaj.
  2. Sistemi juaj i mbështetjes kërkon një token të përkohshëm nga shërbimi i furnizimit të Gemini API.
  3. API-ja Gemini lëshon një token jetëshkurtër.
  4. Sistemi juaj i mbështetjes (backend) i dërgon token-in klientit për lidhjet WebSocket me Live API. Mund ta bëni këtë duke ndërruar çelësin tuaj API me një token të përkohshëm.
  5. Klienti më pas përdor tokenin sikur të ishte një çelës API.

Përmbledhje e tokenëve të përkohshëm

Kjo rrit sigurinë sepse edhe nëse nxirret, tokeni është jetëshkurtër, ndryshe nga një çelës API jetëgjatë i vendosur në anën e klientit. Meqenëse klienti dërgon të dhëna direkt te Gemini, kjo gjithashtu përmirëson vonesën dhe shmang nevojën e backend-eve tuaja për të përçuar të dhënat në kohë reale.

Krijo një token të përkohshëm

Ja një shembull i thjeshtuar se si të merrni një token të përkohshëm nga Gemini. Si parazgjedhje, do të keni 1 minutë për të filluar seanca të reja Live API duke përdorur tokenin nga kjo kërkesë ( newSessionExpireTime ) dhe 30 minuta për të dërguar mesazhe përmes asaj lidhjeje ( expireTime ).

Python

import datetime

now = datetime.datetime.now(tz=datetime.timezone.utc)

client = genai.Client(
    http_options={'api_version': 'v1alpha',}
)

token = client.auth_tokens.create(
    config = {
    'uses': 1, # The ephemeral token can only be used to start a single session
    'expire_time': now + datetime.timedelta(minutes=30), # Default is 30 minutes in the future
    # 'expire_time': '2025-05-17T00:00:00Z',   # Accepts isoformat.
    'new_session_expire_time': now + datetime.timedelta(minutes=1), # Default 1 minute in the future
    'http_options': {'api_version': 'v1alpha'},
  }
)

# You'll need to pass the value under token.name back to your client to use it

JavaScript

import { GoogleGenAI } from "@google/genai";

const client = new GoogleGenAI({});
const expireTime = new Date(Date.now() + 30 * 60 * 1000).toISOString();

  const token: AuthToken = await client.authTokens.create({
    config: {
      uses: 1, // The default
      expireTime: expireTime // Default is 30 mins
      newSessionExpireTime: new Date(Date.now() + (1 * 60 * 1000)), // Default 1 minute in the future
      httpOptions: {apiVersion: 'v1alpha'},
    },
  });

Për kufizimet e vlerës së expireTime , parazgjedhjet dhe specifikimet e tjera të fushës, shihni referencën API . Brenda afatit kohor expireTime , do t'ju duhet që sessionResumption të rilidhë thirrjen çdo 10 minuta (kjo mund të bëhet me të njëjtin token edhe nëse uses: 1 ).

Është gjithashtu e mundur të bllokohet një token i përkohshëm në një grup konfigurimesh. Kjo mund të jetë e dobishme për të përmirësuar më tej sigurinë e aplikacionit tuaj dhe për të mbajtur udhëzimet e sistemit tuaj në anën e serverit.

Python

client = genai.Client(
    http_options={'api_version': 'v1alpha',}
)

token = client.auth_tokens.create(
    config = {
    'uses': 1,
    'live_connect_constraints': {
        'model': 'gemini-2.5-flash-native-audio-preview-09-2025',
        'config': {
            'session_resumption':{},
            'temperature':0.7,
            'response_modalities':['AUDIO']
        }
    },
    'http_options': {'api_version': 'v1alpha'},
    }
)

# You'll need to pass the value under token.name back to your client to use it

JavaScript

import { GoogleGenAI } from "@google/genai";

const client = new GoogleGenAI({});
const expireTime = new Date(Date.now() + 30 * 60 * 1000).toISOString();

const token = await client.authTokens.create({
    config: {
        uses: 1, // The default
        expireTime: expireTime,
        liveConnectConstraints: {
            model: 'gemini-2.5-flash-native-audio-preview-09-2025',
            config: {
                sessionResumption: {},
                temperature: 0.7,
                responseModalities: ['AUDIO']
            }
        },
        httpOptions: {
            apiVersion: 'v1alpha'
        }
    }
});

// You'll need to pass the value under token.name back to your client to use it

Gjithashtu mund të bllokoni një nëngrup fushash, shihni dokumentacionin e SDK-së për më shumë informacion.

Lidhu me Live API me një token të përkohshëm

Pasi të keni një token të përkohshëm, e përdorni sikur të ishte një çelës API (por mos harroni, funksionon vetëm për API-në live dhe vetëm me versionin v1alpha të API-së).

Përdorimi i tokenëve efemerë shton vlerë vetëm kur vendosen aplikacione që ndjekin qasjen e implementimit klient-në-server .

JavaScript

import { GoogleGenAI, Modality } from '@google/genai';

// Use the token generated in the "Create an ephemeral token" section here
const ai = new GoogleGenAI({
  apiKey: token.name
});
const model = 'gemini-2.5-flash-native-audio-preview-09-2025';
const config = { responseModalities: [Modality.AUDIO] };

async function main() {

  const session = await ai.live.connect({
    model: model,
    config: config,
    callbacks: { ... },
  });

  // Send content...

  session.close();
}

main();

Shihni Fillimi me Live API për më shumë shembuj.

Praktikat më të mira

  • Vendosni një kohëzgjatje të shkurtër skadimi duke përdorur parametrin expire_time .
  • Tokenët skadojnë, duke kërkuar rifillimin e procesit të furnizimit.
  • Verifikoni vërtetimin e sigurt për backend-in tuaj. Token-at epemeralë do të jenë aq të sigurt sa metoda juaj e vërtetimit të backend-it.
  • Në përgjithësi, shmangni përdorimin e tokenëve të përkohshëm për lidhjet backend-me-Gemini, pasi kjo rrugë zakonisht konsiderohet e sigurt.

Kufizime

Tokenët efemeralë janë të pajtueshëm vetëm me Live API për momentin.

Çfarë vjen më pas

  • Lexoni referencën e Live API mbi tokenët epemeralë për më shumë informacion.