Lumipat sa pangunahing nilalaman

API Keys

Ang API keys (personal access tokens) ay ang pinakasimpleng paraan upang mag-authenticate laban sa B1 API mula sa isang server-side script. Ang isang susi ay nakatali sa isang partikular na tao sa isang partikular na simbahan at nagmamana ng mga pahintulot ng taong iyon, napakaliit ng isang opsyonal na hanay ng mga scope.

Bago Magsimula

  • Ang church admin na may Edit Settings na pahintulot ay lumilikha at namamahal sa mga susi
  • Ang raw key ay ipinakita minsan sa paglikha -- i-imbak ito sa ligtas na lugar kaagad
  • Lahat ng API requests ay dapat gumagamit ng HTTPS

Format ng Susi

Ang isang B1 API key ay parang cak_<prefix>.<secret>.

Ang buong susi ay ipinasok sa server sa standard bearer header:

Authorization: Bearer cak_a1b2c3d4.f0e1d2c3b4a5968778695a4b3c2d1e0f1a2b3c4d5e6f7

Ang API auth layer ay nagsasagawa ng anumang token na nagsisimula sa cak_ sa API-key path, at nalutas ang mga pahintulot ng kasalukuyang tao ng susi.

Lumilikha ng isang Susi (B1Admin)

  1. Mag-sign in sa B1Admin bilang isang user na may Edit Settings.
  2. Buksan ang Settings → Developer → API Keys.
  3. I-click ang New API Key, bigyan ito ng kinikilalang pangalan, piliin ang mga scope, at Save.
  4. Ang buong cak_… key ay ipinakita minsan sa isang dialog. Kopyahin ito bago magsara.

Mga Scope

Ang isang scope ay naghahangad kung ano ang maaaring gawin ng isang susi.

ScopeNagbibigay-daan
people:read / people:writeTingnan / i-edit ang mga tao, pamilya, mga miyembro ng grupo
groups:read / groups:writeTingnan / i-edit ang mga grupo at kanilang pagiging miyembro
donations:read / donations:writeTingnan / mag-record ng mga donasyon
attendance:read / attendance:writeTingnan / mag-record ng attendance, sessions, check-ins
forms:writePamahalaan ang mga form
content:read / content:writeTingnan / i-edit ang website content
messaging:read / messaging:writeBasahin ang messaging
roles:read / roles:writeTingnan / i-edit ang mga kahulugan ng papel
settings:read / settings:writeTingnan / i-edit ang mga setting ng simbahan
offline_accessPayagan ang mahabang buhay ng refresh tokens
Tip

Kung gagamitin mo ang susi upang magrehistro ng mga webhooks, ang susi ay nangangailangan ng settings:write.

Paggamit ng Susi

Kapareho ng anumang bearer token -- bawat authenticated endpoint ay tumatanggap ng API keys na eksakto tulad ng tinatanggap nito ang JWTs:

curl https://api.churchapps.org/membership/people \
-H "Authorization: Bearer cak_a1b2c3d4.f0e1d2c3b4a5968778695a4b3c2d1e0f1a2b3c4d5e6f7"

Pamamahalaan ang Mga Susi sa pamamagitan ng API

Pamamaraan at PathLayunin
GET /membership/apiKeysListahan ang mga susi ng simbahan
GET /membership/apiKeys/scopesListahan ng lahat ng available na scope
POST /membership/apiKeysLumikha ng isang bagong susi
DELETE /membership/apiKeys/:idI-revoke ang isang susi

Mga Best Practice

  • Isang susi bawat integration. Kung may napinsalang kahit ano ay i-revoke mo ang isang susi nang hindi sinisira ang iba.
  • Mint ang pinakamaliit na scope na gumagana. Ang isang Google Sheets export ay kailangan lamang ng people:read.
  • Itali ang susi sa isang service account, hindi isang tunay na miyembro ng staff.
  • Mag-imbak ng mga susi sa isang secret manager -- hindi kailanman sa source control.
  • I-rotate ang mga susi kung ikaw ay nagsususpetsa ng exposure.

Paano Ito Naiiba mula sa OAuth

Ang mga API keys ay angkop kapag ang iyong simbahan lamang ang gumagamit ng integration. Para sa isang connector na kailangang mag-access ng maraming simbahan, gamitin ang OAuth at Connected Apps halip.

API keyOAuth
Sino ang nag-install nitoIsang church adminBawat church admin
Auth headerAuthorization: Bearer cak_…Authorization: Bearer <jwt>
Token lifetimeHanggang revokedAccess ≈ 7 araw, refresh ≈ 90 araw
Best para saInternal scripts, Zapier/Make/SheetsMulti-tenant third-party apps