资讯详情

Logto OIDC connector 怎么接入任意支持 OIDC 协议的身份提供商

📅 2026/9/15 19:06:37 | 华诺云谱 👁 阅读
Logto OIDC connector 怎么接入任意支持 OIDC 协议的身份提供商
Logto OIDC connector 怎么接入任意支持 OIDC 协议的身份提供商【免费下载链接】logto‍ Authentication and authorization infrastructure for SaaS and AI apps, built on OIDC and OAuth 2.1 with multi-tenancy, SSO, and RBAC.项目地址: https://gitcode.com/GitHub_Trending/lo/logto如果你手里已经有一个支持 OpenID Connect 协议的身份提供商自建 IdP 或第三方身份服务想让用户用它来登录基于 Logto 的应用Logto 内置的 OIDC connector 就是对应的接入方式。它不绑定任何特定厂商只要对方支持 OIDC都可以配成一个社交登录连接器在 Logto Console 里创建 connector 并填入身份提供商的端点与凭据然后在 Sign-in experience 中启用社交登录按钮用户即可完成第三方登录。需要明确的前提身份提供商必须支持 OIDC 协议这是配置有效 connector 的先决条件见 connector README。另外 OIDC connector 在 Logto 中属于特殊类型同一租户下可以添加多个基于 OIDC 协议的 connector 实例。在身份提供商侧收集接入信息开始配置前按身份提供商的文档注册一个用于 OIDC 授权的应用并收集下面这些信息。README 中明确列出了需要找到的四类端点authorizationEndpoint、tokenEndpoint、jwksUri和issuer它们应该在身份提供商的文档中提供。需要收集的信息用途clientId/clientSecret在 OIDC 应用的详情页获取前者用于标识客户端后者用于向授权服务器认证客户端身份authorizationEndpoint发起认证流程的端点tokenEndpoint客户端用授权码换取 ID token 的端点jwksUri获取身份提供商 JWKSJSON Web Key Set的地址Logto 用它拉取公钥来校验 ID tokenissuer身份提供商的唯一标识校验时与 JWT 的issclaim 比对scope空格分隔的权限列表如果需要调用 IdP 的 API 并持久化 token还需加入对应的 API scopetokenEndpointAuthMethodtoken 端点的客户端认证方式不要凭猜测填写README 建议查阅 OAuth 2.0 服务提供方 discovery 端点上的token_endpoint_auth_methods_supported字段或参考该服务提供方的文档来确定支持哪些方式。在 Logto Console 创建并配置 OIDC connector在 Logto Console 中新建一个 OIDC connector按下表填写配置。字段名以 Console 表单的 label 为准来源是 constant.ts 中定义的表单项。必填项字段类型说明Authorization Endpoint文本认证发起端点Token Endpoint文本token 交换端点Client ID文本客户端唯一标识Client Secret文本客户端机密README 强调它属于机密信息需妥善保管Token Endpoint Auth Method下拉可选client_secret_post、client_secret_basic、client_secret_jwt默认client_secret_postScope多行文本空格分隔。注意按 OIDC 规范 scope 必须包含openid如果漏填Logto 会自动补上见 types.ts 中的scopePostProcessorID Token Verification ConfigJSON至少包含jwksUriConsole 中该字段的默认模板为{ jwksUri: jwks-uri }需替换为你身份提供商的实际 JWKS 地址ID Token Verification Config的完整可选属性定义在 types.ts 的idTokenVerificationConfigGuard中issuer、audience、algorithms、clockTolerance、maxTokenAge、subject、typ等均可选只有jwksUri必填。README 也提醒这些属性的详细语义可参考 jose 库的JWTVerifyOptions文档。一个典型写法尖括号内替换为你自己的端点{ jwksUri: https://your-idp/jwks, issuer: https://your-idp }配置中有几个字段不需要你填Logto 会固定或自动生成理解这些规则能避免配置上的困惑均来自 connector README出于安全考虑只支持Authorization Code授权类型不支持 implicit 和 hybrid flowresponseType固定为code、grantType固定为authorization_code两者自动填充nonce不放在配置里由 Logto 在每次认证请求中随机生成并在回调时校验。可选项按需使用字段适用条件Client Secret JWT Signing Algorithm仅当 Token Endpoint Auth Method 选client_secret_jwt时出现可选HS256默认、HS384、HS512Authentication Request Optional ConfigJSON。用于追加 OIDC Authentication Request 的可选参数responseMode、display、prompt、maxAge、uiLocales、idTokenHint、loginHint、acrValuesCustom ConfigJSONRecordstring, string。当目标提供商在 OIDC 标准之外有自己的变体参数时用它传递自定义参数严格遵循标准的提供商无需理会Accept String-typed Boolean Claims开关默认关闭。部分提供商会把email_verified、phone_verified等布尔 claim 返回成字符串开启后会自动转换Trust Unverified Email开关默认关闭。默认情况下email_verified缺失或为 false 时 email 不会同步到用户资料仅在你确信该 IdP 提供的邮箱经过验证时才开启关于资料同步的两个默认行为来自 types.ts 中的实现email 只有在email_verified为真或开启了 Trust Unverified Email时才会同步phone 只有在phone_verified为真时才会同步。此外还有两项不影响连接成功、但影响终端体验的通用设置社交按钮的name与logo支持明/暗两套以及身份提供商名称IdP name——每个社交 connector 用唯一的 IdP name 区分用户身份。资料同步策略可选Only sync at sign-up仅首次登录时拉取资料或Always sync at sign-in每次登录都更新。启用社交登录并验证结果connector 创建完成后按 README 的 Utilize the OIDC connector 一节把它接入终端用户流程进入 Logto Console 的Sign-in experience Sign-up and sign-in页面在Social sign-in区域添加刚创建的 OIDC connector。之后用真实用户账号走一次第三方登录。接入是否生效可以按这条路径核对README Manage users social identity 一节进入User management打开登录用户的资料页在Social connections下找到对应的身份提供商条目并点击Manage该页面会展示这条社交连接、从社交账号授权并同步过来的全部资料以及 access token 状态。如果用户在登录时收到ID Token validation failed due to nonce mismatch.这类报错说明 ID token 校验失败方向是核对该 connector 的jwksUri、issuer是否与身份提供商一致源码中的处理逻辑见 index.tsparseUserInfoFromIdToken。另外 Logto 校验 ID token 时固定把audience设为你的clientId即身份方签发的 ID token 受众必须是该 client。边界与后续可选路径只支持 Authorization Code 流程implicit/hybrid 不可用如果希望应用还能在用户授权后代为调用 IdP 的 API在scope中加入所需 API scope并在 connector 中开启Store tokens for persistent API accessLogto 会把 token 存入 Secret Vault对标准 OAuth/OIDC 身份提供商scope中还必须包含offline_access以获得 refresh token。token 的取用方式见 Logto 官方文档的 Secret Vault 指南README 中的外链仓库内不展开OIDC connector 也可以不开启社交登录仅用于账户绑定Account API和 API 访问已知限制部分 IdP 的 access token 响应不携带具体 scope 信息Logto 无法直接展示用户授予的权限列表但只要用户授权时同意了请求的 scope应用调用 OIDC API 时即拥有对应权限。【免费下载链接】logto‍ Authentication and authorization infrastructure for SaaS and AI apps, built on OIDC and OAuth 2.1 with multi-tenancy, SSO, and RBAC.项目地址: https://gitcode.com/GitHub_Trending/lo/logto创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
📝

华诺云谱内容团队

资深建站顾问 · 行业研究员

10年+企业数字化服务经验,专注智能建站、SEO优化与品牌营销,持续输出建站技巧、行业洞察与营销干货,已帮助5000+企业实现数字化增长。

你可能需要的服务

订阅华诺云谱资讯周报

每周一封,精选建站技巧、SEO与营销干货,直达邮箱。已有 8,000+ 企业主订阅,助你少走弯路。