Autentifikimi me fillimin e shpejtë të OAuth

Mënyra më e lehtë për të vërtetuar në Gemini API është të konfiguroni një çelës API, siç përshkruhet në fillimin e shpejtë të Gemini API . Nëse keni nevojë për kontrolle më të rrepta aksesi, mund të përdorni OAuth në vend të tyre. Ky udhëzues do t'ju ndihmojë të konfiguroni vërtetimin me OAuth.

Ky udhëzues përdor një qasje të thjeshtuar vërtetimi që është e përshtatshme për një mjedis testimi. Për një mjedis prodhimi, mësoni rreth vërtetimit dhe autorizimit përpara se të zgjidhni kredencialet e aksesit që janë të përshtatshme për aplikacionin tuaj.

Objektivat

  • Konfiguro projektin tënd në renë kompjuterike për OAuth
  • Konfiguro kredencialet e aplikacionit-default
  • Menaxhoni kredencialet në programin tuaj në vend që të përdorni gcloud auth

Parakushtet

Për të ekzekutuar këtë fillim të shpejtë, ju duhet:

Konfiguro projektin tënd në renë kompjuterike

Për të përfunduar këtë fillim të shpejtë, së pari duhet të konfiguroni projektin tuaj Cloud.

1. Aktivizo API-në

Përpara se të përdorni API-të e Google, duhet t'i aktivizoni ato në një projekt Google Cloud.

  • Në tastierën e Google Cloud, aktivizoni API-në e gjuhës gjeneruese të Google.

    Aktivizo API-në

2. Konfiguro ekranin e miratimit të OAuth

Më pas konfiguroni ekranin e pëlqimit të OAuth të projektit dhe shtoni veten si përdorues testues. Nëse e keni përfunduar tashmë këtë hap për projektin tuaj Cloud, kalo te seksioni tjetër.

  1. Në konsolën e Google Cloud, shko te Menyja > API-të dhe shërbimet > Ekrani i pëlqimit të OAuth .

    Shkoni te ekrani i miratimit të OAuth

  2. Zgjidhni llojin e përdoruesit të jashtëm për aplikacionin tuaj, më pas klikoni Krijo .

  3. Plotësoni formularin e regjistrimit të aplikacionit (mund t'i lini bosh shumicën e fushave), më pas klikoni Ruaj dhe Vazhdo .

  4. Tani për tani, mund të kapërceni shtimin e fushave dhe të klikoni Ruaj dhe Vazhdo . Në të ardhmen, kur krijoni një aplikacion për përdorim jashtë organizatës suaj të Google Workspace, duhet të shtoni dhe verifikoni qëllimet e autorizimit që kërkon aplikacioni juaj.

  5. Shtoni përdoruesit e testimit:

    1. Nën Test përdoruesit , klikoni Shto përdorues .
    2. Futni adresën tuaj të emailit dhe çdo përdorues tjetër të autorizuar të testimit, më pas klikoni Ruaj dhe Vazhdo .
  6. Rishikoni përmbledhjen e regjistrimit të aplikacionit tuaj. Për të bërë ndryshime, klikoni Edit . Nëse regjistrimi i aplikacionit duket në rregull, klikoni Kthehu te paneli i kontrollit .

3. Autorizoni kredencialet për një aplikacion desktop

Për të vërtetuar si përdorues fundor dhe për të hyrë në të dhënat e përdoruesit në aplikacionin tuaj, duhet të krijoni një ose më shumë ID klientësh OAuth 2.0. Një ID klienti përdoret për të identifikuar një aplikacion të vetëm në serverët OAuth të Google. Nëse aplikacioni juaj funksionon në platforma të shumta, duhet të krijoni një ID të veçantë klienti për secilën platformë.

  1. Në tastierën e Google Cloud, shkoni te Menyja > API-të dhe shërbimet > Kredencialet .

    Shkoni te Kredencialet

  2. Klikoni Krijo kredencialet > ID-ja e klientit OAuth .

  3. Klikoni Lloji i aplikacionit > Aplikacioni i desktopit .

  4. Në fushën Emri , shkruani një emër për kredencialin. Ky emër shfaqet vetëm në tastierën e Google Cloud.

  5. Klikoni Krijo . Shfaqet ekrani i krijuar nga klienti OAuth, duke treguar ID-në tuaj të re të klientit dhe sekretin e klientit.

  6. Klikoni OK . Kredenciali i krijuar rishtazi shfaqet nën ID-të e klientit OAuth 2.0.

  7. Klikoni butonin e shkarkimit për të ruajtur skedarin JSON. Do të ruhet si client_secret_<identifier>.json , dhe do ta riemërtoni në client_secret.json dhe do ta zhvendosni në drejtorinë tuaj të punës.

Konfiguro kredencialet e paracaktuara të aplikacionit

Për të kthyer skedarin client_secret.json në kredenciale të përdorshme, kaloni vendndodhjen e tij argumentin --client-id-file të komandës gcloud auth application-default login .

gcloud auth application-default login \
    --client-id-file=client_secret.json \
    --scopes='https://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/generative-language.retriever'

Konfigurimi i thjeshtuar i projektit në këtë udhëzues shkakton një "Google nuk e ka verifikuar këtë aplikacion". dialogu. Kjo është normale, zgjidhni "vazhdoni" .

Kjo e vendos tokenin që rezulton në një vendndodhje të mirënjohur, në mënyrë që të mund të aksesohet nga gcloud ose bibliotekat e klientëve.

gcloud auth application-default login 
--no-browser --client-id-file=client_secret.json
--scopes='https://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/generative-language.retriever'

Pasi të keni vendosur kredencialet e paracaktuara të aplikacionit (ACD), bibliotekat e klientëve në shumicën e gjuhëve kanë nevojë për ndihmë minimale ose aspak për t'i gjetur ato.

Kaçurrela

Mënyra më e shpejtë për të provuar nëse kjo po funksionon është ta përdorni për të hyrë në API REST duke përdorur curl:

access_token=$(gcloud auth application-default print-access-token)
project_id=<MY PROJECT ID>
curl -X GET https://generativelanguage.googleapis.com/v1/models \
    -H 'Content-Type: application/json' \
    -H "Authorization: Bearer ${access_token}" \
    -H "x-goog-user-project: ${project_id}" | grep '"name"'

Python

Në python, bibliotekat e klientëve duhet t'i gjejnë ato automatikisht:

pip install google-generativeai

Një skenar minimal për ta testuar mund të jetë:

import google.generativeai as genai

print('Available base models:', [m.name for m in genai.list_models()])

Hapat e ardhshëm

Nëse kjo po funksionon, jeni gati të provoni rikthimin semantik në të dhënat tuaja të tekstit .

Menaxho vetë kredencialet [Python]

Në shumë raste nuk do të keni komandën gcloud të disponueshme për të krijuar kodin e aksesit nga ID-ja e klientit ( client_secret.json ). Google ofron biblioteka në shumë gjuhë për t'ju lejuar të menaxhoni atë proces brenda aplikacionit tuaj. Ky seksion demonstron procesin, në python. Ka shembuj ekuivalent të kësaj lloj procedure, për gjuhë të tjera, të disponueshme në dokumentacionin e Drive API

1. Instaloni bibliotekat e nevojshme

Instaloni bibliotekën e klientit të Google për Python dhe bibliotekën e klientëve Gemini.

pip install --upgrade -q google-api-python-client google-auth-httplib2 google-auth-oauthlib
pip install google-generativeai

2. Shkruani menaxherin e kredencialeve

Për të minimizuar numrin e herëve që duhet të klikoni nëpër ekranet e autorizimit, krijoni një skedar të quajtur load_creds.py në direktorinë tuaj të punës për të ruajtur një skedar token.json që mund të ripërdoret më vonë, ose ta rifreskojë nëse skadon.

Filloni me kodin e mëposhtëm për të kthyer skedarin client_secret.json në një token të përdorshëm me genai.configure :

import os.path

from google.auth.transport.requests import Request
from google.oauth2.credentials import Credentials
from google_auth_oauthlib.flow import InstalledAppFlow

SCOPES = ['https://www.googleapis.com/auth/generative-language.retriever']

def load_creds():
    """Converts `client_secret.json` to a credential object.

    This function caches the generated tokens to minimize the use of the
    consent screen.
    """
    creds = None
    # The file token.json stores the user's access and refresh tokens, and is
    # created automatically when the authorization flow completes for the first
    # time.
    if os.path.exists('token.json'):
        creds = Credentials.from_authorized_user_file('token.json', SCOPES)
    # If there are no (valid) credentials available, let the user log in.
    if not creds or not creds.valid:
        if creds and creds.expired and creds.refresh_token:
            creds.refresh(Request())
        else:
            flow = InstalledAppFlow.from_client_secrets_file(
                'client_secret.json', SCOPES)
            creds = flow.run_local_server(port=0)
        # Save the credentials for the next run
        with open('token.json', 'w') as token:
            token.write(creds.to_json())
    return creds

3. Shkruani programin tuaj

Tani krijoni script.py tuaj:

import pprint
import google.generativeai as genai
from load_creds import load_creds

creds = load_creds()

genai.configure(credentials=creds)

print()
print('Available base models:', [m.name for m in genai.list_models()])

4. Drejtoni programin tuaj

Në drejtorinë tuaj të punës, ekzekutoni shembullin:

python script.py

Herën e parë që ekzekutoni skriptin, ai hap një dritare të shfletuesit dhe ju kërkon të autorizoni aksesin.

  1. Nëse nuk jeni identifikuar tashmë në llogarinë tuaj të Google, do t'ju kërkohet të identifikoheni. Nëse jeni identifikuar në shumë llogari, sigurohuni që të zgjidhni llogarinë që keni vendosur si "Llogari testuese" kur konfiguroni projektin tuaj.

  2. Informacioni i autorizimit ruhet në sistemin e skedarëve, kështu që herën tjetër që të ekzekutoni kodin e mostrës, nuk do t'ju kërkohet autorizim.

Ju keni konfiguruar me sukses vërtetimin.