简体中文
  • auth
  • integration
  • oauth
  • oidc
  • identity

简化使用 Logto 的 OAuth 和 OIDC 身份验证

我们的社区对使用 Logto 作为某些产品的身份提供商表现出兴趣,例如 Outline 或 ChatGPT 插件。理论上,只要你想要集成的产品支持这些协议中的任意一个,Logto 可以充当 OAuth 或 OIDC(开放 ID 连接)提供商。

Gao
Gao
Founder

Logto 是一个易于使用的身份解决方案,提供所有必要的功能。它支持各种登录方法,如用户名、电子邮件、电话号码和流行的社交登录,如 Google 和 GitHub。无论你是个人还是任何规模的企业,Logto 都能为你的项目提供完美的客户身份和访问管理(CIAM)解决方案。

介绍

我们的社区对使用 Logto 作为某些产品的身份提供商表现出兴趣,例如 Outline 或 ChatGPT 插件。理论上,只要你想要集成的产品支持这些协议中的任意一个,Logto 可以充当 OAuth 2.0(OAuth)或 OpenID Connect(OIDC)提供商。

在本文中,我们提供了使用 Logto 作为身份提供商进行 OAuth 或 OIDC 集成的一般教程。此外,我们还为特定集成提供了专门的教程,包括:

尽管不同产品之间的某些细节可能有所不同,但基本配置保持通用。如果你有任何问题或需要进一步的帮助,我们鼓励你加入我们的 Discord 服务器进行深入讨论。

让我们开始吧!

前置条件

在我们开始之前,请确保你拥有以下内容:

  • 一个运行中的 Logto 实例或对 Logto Cloud 帐户的访问权限。
  • 一个支持第三方 OAuth 或 OIDC 身份提供商的产品(称为“产品”)。

配置 Logto

如果你是自托管 Logto,请参考 Logto 的 “入门” 文档以设置 Logto 实例。

如果你使用 Logto Cloud,请访问 https://cloud.logto.io/ 打开 Logto 控制台,或使用你设置的自托管端点。

创建应用

进入“应用程序”标签,点击“创建应用程序”。

Logto 控制台的“应用程序”标签

在出现的模态窗口中,选择“传统 Web”,并提供一个应用程序名称,例如“我的应用”。点击“创建应用程序”。

“创建应用程序”模态窗口显示多种应用类型

你将进入 Logto 的教程页面。点击右上角的“跳过”以继续进入应用程序详情页面。

应用程序详情页面

配置重定向 URI

在“重定向 URI”部分,输入产品文档中提供的值。通常,它是基于你在产品中的 ID 或端点配置动态生成的。例如,在 ChatGPT 插件中,重定向 URI 是:

https://chat.openai.com/aip/[your-plugin-id]/oauth/callback

如果你的插件 ID 是 foo123,值应为:

https://chat.openai.com/aip/foo123/oauth/callback

“重定向 URI”配置部分

或者,它可能被称为“重定向 URL”、“回调 URI”或“回调 URL”。

可选:确保 Logto 发行刷新令牌

当向 Logto 发送令牌交换请求时,某些产品可能需要刷新令牌。对于 OAuth,你只需确保 offline_access 范围被包括即可。根据 OIDC 协议,默认情况下,产品在初始授权请求中还必须添加 prompt=consent 搜索参数,否则将不会发行刷新令牌。

如果产品使用 OAuth 或者没有添加 prompt=consent 参数或 offline_access 范围但需要刷新令牌(例如,ChatGPT 插件),向下滚动到“高级设置”部分并启用“始终发行刷新令牌”。

“始终发行刷新令牌”切换按钮

就是这样!

点击底部的“保存更改”按钮。保持此页面打开,因为它对于进一步的配置非常有用。

操作栏显示“保存更改”按钮

配置产品

按照产品文档中列出的步骤进行 OAuth 或 OIDC 配置。

基本配置

大多数所需的配置值可以在 Logto 应用程序详情页面找到。一些名称可能有别名,因此请参考下面的表格:

Logto 名称别名用途
应用程序 ID应用程序 ID、客户端 ID
应用程序密钥应用程序密钥、客户端密钥
重定向 URI重定向 URL、回调 URI、回调 URL登录后的重定向
登出后重定向 URI登出后重定向 URL、登出 (重定向) URI、登出 (重定向) URL登出后的重定向
授权端点授权 URI、授权 URL、授权端点、授权 URL初始认证
令牌端点令牌 URL、令牌 URI请求令牌授权
用户信息端点用户信息 URL、用户信息 URI获取当前用户信息

对于现代产品,一个“发现端点”可能就足够了。在这种情况下,将授权端点中的 auth 替换为 .well-known/openid-configuration。例如,如果授权端点是 https://default.logto.app/oidc/auth,那么发现端点将是 https://default.logto.app/oidc/.well-known/openid-configuration

可选:范围配置

如果产品支持 OIDC 或需要发行 ID 令牌,请在范围配置中添加 openid profile。参考下面的声明-范围表:

声明类型所需范围
substringopenid
namestringprofile
usernamestringprofile
picturestringprofile
emailstringemail
email_verifiedbooleanemail
phone_numberstringphone
phone_number_verifiedbooleanphone

检查点:测试 Logto 集成

点击产品中的登录按钮,你将被引导到 Logto 登录体验。

Logto 登录体验

如果一切都配置正确,一旦你在 Logto 完成登录或注册过程,你将被重定向回产品而没有任何错误。

这就是我们关于简化 Logto 的 OAuth 和 OIDC 身份验证的指南的结束。如果你在集成过程中遇到任何问题,请通过 [email protected] 通过电子邮件联系我们,或加入我们的 Discord 服务器

进一步阅读