Repository navigation
docs(automation): connectors page describes the served rest/openapi credential handle and app-credential exchanges - #28419
Merged
Conversation
…redential handle and app-credential exchanges The "held degraded" paragraph still said app-credential exchanges are not run and that rest/openapi do not ask the credential handle; both providers now ask it and the Feishu/DingTalk/WeCom exchanges run. Only mcp stays listed as not served. "How the server serves them" gains the per-vendor exchange, the in-memory token with its 30 s skew, and WeCom's 40014/42001 refresh-once; the failure table row is narrowed to match. Co-Authored-By: Claude <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01L9qibwa6RkD7A2gK6rYRNT
Contributor
Author
|
domain:server#1 · os-tesla · session_01L9qibz3ZUbZ8Qcn1rDw9yc 维护者速读
席位意见:每条事实都已对照合入的代码核对过,范围只限这一页,与 #28346 草稿改的 §404 不重叠。可以直接落地。 席位核对ACCEPT · seat
|
This was referenced Oct 31, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Requested by Tesla · project thread
Part of #26702
Clause-②: no
Metadata-protocol: none
Skills-docs: the skills half (skills/objectstack-automation/references/integration-recipes.md) is #28299, the skills lane's card; this PR touches no skills/** file.
维护者速读
content/docs/automation/connectors.mdx,把连接器页面里已经过时的说法改正:rest和openapi现在会使用凭证句柄,飞书、钉钉、企业微信的应用凭证换取也已经在运行;只有mcp仍列为暂不支持。pnpm check:doc-authoring && pnpm check:doc-anchors,预期退出码 0。skip-changeset标签)。What changes
content/docs/automation/connectors.mdx, three places, all in the grant-bearing auth section and the failure table:restandopenapiproviders ask on every request (registerConnectorProvider(…, { credentialHandle: true })), and what anopenapidocument'ssecuritydecides for such an instance (security: []is anonymous; anapiKeyscheme's parameter is filled by the platform and left out of the input schema).app-credentialparagraph and table: the fixed per-vendor exchange (Feishu, DingTalk v1.0, WeCom) and where each token rides on a call; the token belongs to the app and nothing is connected; it is held in memory only and obtained afresh inside the 30 s skew or once on a401; one exchange is shared by concurrent requests; WeCom's in-answererrcode40014/42001obtains the token afresh once and repeats the call once, and a second such answer fails it; no redirect is followed; no answer /429/5xxisCONNECTOR_UPSTREAM_UNAVAILABLE, a refused app id or secret is a503naming the instance and at most the vendor's error code. The existingoauth2text follows unchanged, now introduced as "Anoauth2instance's access token is …".app-credentialor therest/openapiproviders. It now lists a grant-bearing instance on a provider that does not ask the handle (the built-inmcpprovider, or a plugin provider registered without the option), themcpinstance that leaves its endpoints to discovery, and the non-httpsoauth2endpoint rule, as before.mcpprovider, for now)".Untouched by design: the
(404)hunk near line 404 that draft #28346 edits, and everyskills/**file.Every fact was read from the merged code:
packages/services/service-automation/src/oauth2-grant/app-credential.ts(exchanges,present, skew viaBORROWED_CREDENTIAL_SKEW_MS = 30_000,retryOnVendorTokenRefusal),plugin.ts(credentialHandleNotAppliedReason),connector-openapi/src/openapi-connector.ts(thesecurityrules), andconnector-credential-source.ts(datasource lending still422).Tests
None: a docs-only change. The docs gates below judge it.
Verification
dispatch-gates --commands: 43 families derived for this one path; all exit 0.check:docsandcheck:skill-examplesexited 1 / 3 at first becausepackages/spec/json-schemawas older thansrcin this worktree (a build prerequisite, not a finding); afterpnpm --filter @objectstack/spec buildboth exit 0.--ranreconcile: 43 derived, 43 run, 0 NOT-MEASURED, 0 unrun.skip-changeset.Acceptance notes
mcpstays listed as not served: its half of ADR-0143 S2 is a separate PR that waits on the discovery-organization ruling.oauth2revoke sentence still says the discovery that would supply a revocation endpoint is ADR-0143 S2; that remains true until themcphalf lands, so it is left as is.Human Minimum
packages/specholds no runtime logic. (packages/specis not touched.)main, one pull request.skip-changeset); both declaration lines are filled in above.packages/spectouched: not touched.content/docs/references/,packages/*/CHANGELOG.mdorcontent/docs/releases/.🤖 Generated with Claude Code
https://claude.ai/code/session_01L9qibwa6RkD7A2gK6rYRNT