身份验证
身份验证
身份验证
Fern 支持两种配置身份验证的方式:
securitySchemes — 标准方法,保持认证配置的可移植性,并与其他 OpenAPI 工具兼容。generators.yml 中使用 auth-schemes — 使用此方式自定义参数名称和环境变量,覆盖规范中定义的内容,或配置 OAuth(在 OpenAPI 中不可用)。您的身份验证配置适用于生成的 SDK 和 API 浏览器。所有 SDK 都支持凭证的直接配置和环境变量。如果您在两个地方定义了相同的方案,则以 generators.yml 为准。
在 components.securitySchemes 中定义您的方案,然后使用 security 属性全局应用或按端点应用。
生成的 SDK 用法:
要自定义参数名称和环境变量,请添加 x-fern-bearer:
要自定义参数名称和环境变量,请添加 x-fern-basic:
要自定义参数名称和环境变量,请添加 x-fern-header:
prefix 选项会自动在 API 密钥前添加字符串,当您的 API 需要 "Bearer abc123" 或 "Token abc123" 等格式时很有用。
配置端点以支持多种身份验证方案或组合。在 security 部分,多个顶级项目是 OR 选项,而单个项目内的方案通过 AND 组合。
在此示例中,用户可以使用 bearer token 进行身份验证,或者同时使用 basic auth 和 API key。
在多种方案中使用 OAuth 客户端凭证时,请确保 OpenAPI 规范的 security 部分中的方案名称与 generators.yml 中定义的名称匹配。
generators.yml 中自定义或覆盖身份验证在 auth-schemes 中定义您的方案,然后使用 api.auth 将其作为所有端点的默认值:
有关完整的配置选项,请参见 auth-schemes 参考。您还可以为特定 SDK 覆盖身份验证设置。
生成的 SDK 用法:
在 username 或 password 上设置 omit: true 以从生成的 SDK 中移除它。
此功能在专业版和企业版计划中提供。请联系 support@buildwithfern.com 开始使用。
endpoint 值引用您的 OpenAPI 规范中的路径。当返回 expires-in 时,SDK 会在 token 过期前自动刷新。
如果您的 API 使用命名空间(多个 API 规范),请在端点前加上命名空间和 ::。例如,"payments::POST /oauth/token"。