如何让用户使用 Auth0 登录 Electron 应用程序?

Posted

技术标签:

【中文标题】如何让用户使用 Auth0 登录 Electron 应用程序?【英文标题】:How to keep a user signed in on an Electron app using Auth0? 【发布时间】:2017-08-10 22:00:13 【问题描述】:

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

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

感谢您的帮助。

【问题讨论】:

【参考方案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 - 将其存储在某个可靠的存储中并防止任何外部脚本访问它。我认为使用电子应用程序可以比使用公共网站更可靠。

【讨论】:

以上是关于如何让用户使用 Auth0 登录 Electron 应用程序?的主要内容,如果未能解决你的问题,请参考以下文章

是否可以以某种方式使用recaptcha和auth0来避免让用户登录但仍然有令牌?

如何使用 HashLocationStrategy 和 Auth0 Lock 小部件进行用户登录

如何在 Symfony 中访问已登录的 Auth0 用户的电子邮件地址?

通过 Express / Auth0 后端登录用户

从 API 中访问 Auth0 登录用户?

登录 Auth0 后找不到如何获取访问令牌