【问题标题】:How to keep a user signed in on an Electron app using Auth0?如何让用户使用 Auth0 登录 Electron 应用程序?
【发布时间】:2024-01-06 00:49:01
【问题描述】:

似乎没有关于如何做到这一点的完整解释,甚至没有足够的片段让我将我必须做的事情拼凑起来。经过大约 16 个小时的学习,我无计可施。

似乎我不能使用 SSO,我也不能使用 PKCE,因为网络上没有任何工作示例。有一个带有示例实现的 github 存储库,但它不起作用,并且在玩了 2 个小时后,我无法确定我需要做什么才能以这种方式前进。

感谢您的帮助。

【问题讨论】:

    标签: authentication oauth oauth-2.0 electron auth0


    【解决方案1】:

    您可以将offline_access 添加到您的作用域(例如“作用域”:“offline_access openid something:else”),这将为您生成一个refresh_token

    Auth0 目前支持无限制的refresh_token 使用,因此当您的access_token 到期时(您可以使用响应中的"expires_in": 86400 值手动跟踪到期时间,或者对来自api 的401 响应做出反应)- 您可以将刷新令牌发送到OAuth2 api 端点并接收新的访问令牌。他们很少有descent articles 关于这个问题以及您需要为您的客户端和 API 配置什么以及不该做什么(取决于您的客户端安全假设)。

    请注意 - 您必须正确保护 refresh_token - 将其存储在某个可靠的存储中并防止任何外部脚本访问它。我认为使用电子应用程序可以比使用公共网站更可靠。

    【讨论】: