简化使用 Logto 的 OAuth 和 OIDC 身份验证
我们的社区对使用 Logto 作为某些产品的身份提供商表现出兴趣,例如 Outline 或 ChatGPT 插件。理论上,只要你想要集成的产品支持这些协议中的任意一个,Logto 可以充当 OAuth 或 OIDC(开放 ID 连接)提供商。
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 控制台,或使用你设置的自托管端点。
创建应用
进入“应用程序”标签,点击“创建应用程序”。
在出现的模态窗口中,选择“传统 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
或者,它可能被称为“重定向 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
。参考下面的声明-范围表:
声明 | 类型 | 所需范围 |
---|---|---|
sub | string | openid |
name | string | profile |
username | string | profile |
picture | string | profile |
string | ||
email_verified | boolean | |
phone_number | string | phone |
phone_number_verified | boolean | phone |
检查点:测试 Logto 集成
点击产品中的登录按钮,你将被引导到 Logto 登录体验。
如果一切都配置正确,一旦你在 Logto 完成登录或注册过程,你将被重定向回产品而没有任何错误。
这就是我们关于简化 Logto 的 OAuth 和 OIDC 身份验证的指南的结束。如果你在集成过程中遇到任何问题,请通过 [email protected] 通过电子邮件联系我们,或加入我们的 Discord 服务器!