Pereiti prie turinio
HRC pagalba
Dokumentacijos turinys

OAuth DI programų kūrėjams

Atnaujinta

Šis puslapis skirtas tiems, kurie kuria DI programą ar MCP klientą. Jei tik jungiate savo programą, skaitykite DI agento prijungimas per MCP.

HRC pagalbos MCP serveris naudoja OAuth 2.1 su dinamine kliento registracija (RFC 7591) ir PKCE. Kliento slaptažodžio nėra (token_endpoint_auth_method: none).

Aptikimas

Kvietimas be žetono gauna 401 su nuoroda į išteklių aprašą:

sh
curl -s -i https://mcp.hrc.lt/mcp -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"ping"}' | grep -i www-authenticate
# WWW-Authenticate: Bearer resource_metadata=
#   "https://mcp.hrc.lt/.well-known/oauth-protected-resource/mcp"

curl -s https://mcp.hrc.lt/.well-known/oauth-protected-resource/mcp
curl -s https://mcp.hrc.lt/.well-known/oauth-authorization-server

Kliento registracija

Nuo 1 iki 20 redirect_uris: https, http tik localhost, 127.0.0.1 ar [::1], arba programos schema (pavyzdžiui cursor://...).

sh
curl -s https://mcp.hrc.lt/oauth/register \
  -H "Content-Type: application/json" \
  -d '{
    "client_name": "My AI app",
    "redirect_uris": ["https://app.example.com/oauth/callback"]
  }'
# 201 {"client_id":"...","token_endpoint_auth_method":"none",
#   "grant_types":["authorization_code","refresh_token"], ...}

Autorizacija su PKCE

Nukreipkite naudotoją į autorizacijos adresą su code_challenge_method=S256:

text
https://mcp.hrc.lt/oauth/authorize
  ?response_type=code
  &client_id=CLIENT_ID
  &redirect_uri=https%3A%2F%2Fapp.example.com%2Foauth%2Fcallback
  &code_challenge=BASE64URL_SHA256_OF_VERIFIER
  &code_challenge_method=S256
  &state=RANDOM_STATE
  &resource=https%3A%2F%2Fmcp.hrc.lt%2Fmcp

Naudotojas prisijungia prie https://app.hrc.lt ir sutikimo lange pasirenka esamą DI agentą arba sukuria naują (pagal nutylėjimą su ruošiniu „Kasdien“), tada spaudžia „Leisti“. Prisijungimo prašymas galioja 10 minučių, gautas kodas 5 minutes ir tik vieną kartą.

Sutikimo langas su DI programos pavadinimu

Žetonai

Prieigos žetonas (hrc_oat_...) galioja 1 valandą, tada atnaujinkite jį su refresh_token. Atnaujinus senas prieigos žetonas iš karto nebegalioja.

sh
curl -s https://mcp.hrc.lt/oauth/token \
  -d grant_type=authorization_code \
  -d code=CODE \
  -d client_id=CLIENT_ID \
  -d code_verifier=VERIFIER \
  -d redirect_uri=https://app.example.com/oauth/callback
# {"access_token":"hrc_oat_...","token_type":"Bearer","expires_in":3600,
#   "refresh_token":"...","scope":"hrc"}

curl -s https://mcp.hrc.lt/oauth/token \
  -d grant_type=refresh_token \
  -d refresh_token=REFRESH_TOKEN \
  -d client_id=CLIENT_ID

MCP kvietimas

sh
curl -s https://mcp.hrc.lt/mcp \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc":"2.0","id":1,"method":"tools/call",
    "params":{"name":"whoami","arguments":{}}}'

Klaidos

  • Registracija: invalid_redirect_uri, invalid_client_metadata.
  • Žetonas: invalid_request, invalid_grant, invalid_client, unsupported_grant_type, invalid_target.
  • Nežinomas client_id ar neregistruotas redirect_uri autorizacijoje parodo klaidos puslapį, be nukreipimo.

Neradote atsakymo? Parašykite mums