Hinnat
Uutiset
Luo tili
Kirjaudu sisään
HinnatTietoa meistäOta yhteyttäAsiakaskokemukset
Kirjaudu sisäänLuo tiliUnohditko salasanan?
KäyttöehdotTietosuojaselosteKehittäjäehdotTietoturvaTietosuoja-asetuksetGDPR
UutisetOminaisuudetOhjekeskusJärjestelmän tila
iOS-sovellusAndroid-sovellusVerkkosovellus

Todentaminen

API käyttää todentamiseen OAuth 2.0 -protokollaa ja PKCE-laajennusta.

Varoitus

Basic-todentaminen on vanhentunut, ja se poistetaan tulevassa päivityksessä. Siirry käyttämään OAuth 2.0:aa.

Näin se toimii

  1. Luot kerran OAuth-sovelluksen, josta saat client_id-tunnuksen
  2. Ohjaat käyttäjän valtuutuspäätepisteeseen, jossa käyttäjä kirjautuu sisään
  3. Saat valtuutuskoodin, jonka vaihdat käyttöoikeustunnukseen ja päivitystunnukseen
  4. Teet API-pyynnöt käyttöoikeustunnuksella

Useimmat OAuth 2.0 -asiakaskirjastot hoitavat tämän työnkulun automaattisesti, kun annat niille palvelimen metatietopäätepisteen /.well-known/oauth-authorization-server.

Kaikkien alla olevien päätepisteiden perusosoite on https://api.attendium.com.

Luo OAuth-sovelluksesi

Luo Attendiumissa OAuth-sovellus, niin saat client_id-tunnuksesi ja, jos kyseessä on luottamuksellinen sovellus, myös client_secret-salaisuutesi. Sinun tarvitsee tehdä tämä vain kerran sovellusta kohden. Katso OAuth-sovellukset.

Uudelleenohjaus-URI:n on käytettävä https-protokollaa tai paikallisessa kehityksessä http-protokollaa ja loopback-osoitetta (localhost, 127.0.0.1 tai ::1). Julkinen sovellus voi käyttää myös yksityiskäyttöistä URI-skeemaa käänteisessä verkkotunnusmuodossa, kuten com.example.app:/oauth/callback.

Kun luot OAuth-sovelluksen – joko Attendiumissa tai asiakasohjelman dynaamisella rekisteröinnillä – hyväksyt kehittäjäehtojen sillä hetkellä julkaistun version.

Valtuuta

Luo PKCE-koodin todentaja ja koodihaaste:

  1. Luo satunnainen merkkijono (43–128 merkkiä, sallitut merkit A-Z, a-z, 0-9, -, ., _, ~) – tämä on code_verifier-arvosi
  2. Laske todentajan SHA-256-tiiviste ja koodaa se base64url-muotoon – tämä on code_challenge-arvosi

Ohjaa sitten käyttäjä osoitteeseen:

GET /oauth2/authorize?response_type=code
  &client_id=your-client-id
  &redirect_uri=https://yourapp.example.com/callback
  &code_challenge=your-code-challenge
  &code_challenge_method=S256
  &state=random-state-value

Käyttäjä kirjautuu sisään Attendiumiin, ja hänet ohjataan takaisin redirect_uri-osoitteeseesi valtuutuskoodin (code) ja state-arvosi kanssa.

Vaihda koodi tunnuksiin

POST /oauth2/token
Content-Type: application/x-www-form-urlencoded

grant_type=authorization_code
&client_id=your-client-id
&redirect_uri=https://yourapp.example.com/callback
&code=the-authorization-code
&code_verifier=your-code-verifier

Luottamuksellisen sovelluksen on myös todennettava itsensä joko Basic-todentamisella (client_secret_basic) tai lähettämällä client_secret pyynnön rungossa (client_secret_post):

POST /oauth2/token
Authorization: Basic base64(your-client-id:your-client-secret)
Content-Type: application/x-www-form-urlencoded

grant_type=authorization_code
&redirect_uri=https://yourapp.example.com/callback
&code=the-authorization-code
&code_verifier=your-code-verifier

Vastaus sisältää access_token- ja refresh_token-arvot.

Tee API-pyyntöjä

Lisää käyttöoikeustunnus Authorization-otsakkeeseen:

curl -H "Authorization: Bearer your-access-token" \
     -H "Content-Type: application/json" \
     -d '{"query": "{ me { id } }"}' \
     https://api.attendium.com/graphql

Päivitä käyttöoikeustunnus

Tunnuspyynnön vastauksessa on expires_in-kenttä, joka kertoo, kuinka kauan käyttöoikeustunnus on voimassa. Hae päivitystunnuksella uusi käyttöoikeustunnus ennen kuin nykyinen vanhenee:

POST /oauth2/token
Content-Type: application/x-www-form-urlencoded

grant_type=refresh_token
&client_id=your-client-id
&refresh_token=your-refresh-token

Luottamuksellinen sovellus todentaa tämän pyynnön samalla tavalla kuin valtuutuskoodin vaihdossa.

Asiakasohjelman dynaaminen rekisteröinti

Sovellukset, jotka määrittävät itsensä palvelimen metatietojen perusteella – myös MCP:n kautta yhdistävät tekoälyavustajat (katso MCP:n käyttöönotto) – rekisteröityvät lähettämällä POST-pyynnön osoitteeseen /oauth2/register. Et tarvitse tätä, jos luot OAuth-sovelluksesi Attendiumissa.

POST /oauth2/register
Content-Type: application/json

{
  "redirect_uris": ["https://yourapp.example.com/callback"],
  "client_name": "Oma sovellus"
}

Näin rekisteröity sovellus ei näy kohdassa ”OAuth-sovellukset”, joten sen nimeä, uudelleenohjaus-URI-osoitteita ja asiakasohjelman salaisuutta ei voi muuttaa siellä.

Lisälukemista

  • OAuth 2.0 – oauth.net
  • PKCE – RFC 7636
  • Asiakasohjelman dynaaminen rekisteröinti – RFC 7591
OAuth-sovellukset