Mabilisang gabay sa OAuth 2.0 para sa mga Cathopic connected apps

Huling na-update: 2 buwan ang nakalipas

Gumagamit ang Cathopic Connected Apps ng OAuth 2.0 Authorization Code na may kinakailangang PKCE S256. Ang parehong pag-apruba ng developer ay nagbubukas din ng komersyal na API ng Cathopic, ngunit ang mga koneksyon sa OAuth ay gumagamit ng mga token ng user at plan ng naka-connect na user, hindi mga API key at metered na pagsingil sa API.

1. Kumuha ng access at irehistro ang application

Isumite ang iisang developer access request sa pamamagitan ng contact form. Matapos aprubahan ng Cathopic ang account sa pamamagitan ng email, buksan ang Settings → Developer / API → OAuth applications, gawin ang application, irehistro ang eksaktong callbacks at mga kinakailangang scope nito, at itabi ang one-time secret nito kung ito ay confidential.

2. Tuklasin ang authorization server

GET https://cathopic.com/.well-known/oauth-authorization-server

3. I-redirect ang user

GET https://cathopic.com/oauth/authorize
    ?client_id=CLIENT_ID
    &redirect_uri=EXACT_CALLBACK
    &response_type=code
    &scope=account.read%20catalog.read%20entitlements.read%20licenses.create%20licenses.read
    &state=UNGUESSABLE_STATE
    &code_challenge=BASE64URL_SHA256_VERIFIER
    &code_challenge_method=S256
    &ui_locales=en

Bumuo ng isang URL; ang mga line break ay para lang gawing madaling basahin ang halimbawa. Bumuo ng bagong high-entropy na state at PKCE values para sa bawat pagtatangka. ui_locales ay opsyonal at maaaring humiling ng suportadong wika tulad ng en o es. Kung kailangan ang sign-in, ipagpapatuloy ng Cathopic ang parehong authorization request at pagkatapos ay ipapakita ang permission screen.

4. I-validate ang callback at i-exchange ang code

Ihambing ang ibinalik na state bago i-exchange ang code. Dapat tumugma ang redirect URI nang eksakto, byte for byte.

POST https://cathopic.com/oauth/token
Content-Type: application/x-www-form-urlencoded

grant_type=authorization_code&client_id=CLIENT_ID&client_secret=CLIENT_SECRET&redirect_uri=EXACT_CALLBACK&code=CODE&code_verifier=VERIFIER

Ang mga public application ay hindi kasama ang client_secret. Itabi ang mga token at confidential secrets lamang sa server at i-encrypt ang mga ito habang nakaimbak. Ang access tokens ay tumatagal ng huling 30 minuto; ang refresh tokens ay tumatagal hanggang 30 araw at umiikot kapag nagamit.

Mga karaniwang pagsusuri

  • Ang isang tinanggihang callback ay kadalasang naiiba sa registered URI dahil sa scheme, host, port, path, casing, o trailing slash.

  • invalid_request bago ang consent ay nangangahulugang nawawala o hindi wasto ang PKCE S256, ang challenge, o ang state.

  • invalid_grant karaniwang nangangahulugang na-reuse ang isang code o na-rotate na refresh token, o nagbago ang callback o verifier.

  • Pagkatapos ng 401, i-refresh nang isang beses; kung mabigo ang refresh, hilingin sa user na muling kumonekta. Ang 403 ay nangangahulugang kulang ang token sa kinakailangang scope.

Tingnan ang kumpletong OpenAPI contract at ang detalyadong Connected Apps integration guide.

Nakatulong ba ang artikulong ito?