如何让用户使用 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 小部件进行用户登录