我有两个关于令牌使用及其到期的问题:
1)关于用户的应用程序密码
我需要密码才能进行身份验证。在应用程序中创建密码时,可以定义一到两年的到期时间。我的目标是用户安装,设置的应用程序,它可以被“遗忘”。但这个到期可能意味着应用程序将在一年后开始失败,这是正确的吗?用户将开始获得令牌错误,他将不得不重新设置应用程序(生成新的密钥并使用它进行身份验证)。我可以通过密钥查找到期日期,因此我可以在用户过期之前为其设置通知吗?我想这样做是为了避免应用程序突然停止工作。
2)客户端身份验证分两步完成:
我发现如果我执行第一步并且我想稍后执行第二步,那么第一步中的“代码”可能会过期。我认为'代码'不会过期,但我找不到任何关于此的文档。 这是正确的,第二步应该在第一步之后完成吗?
答案 0 :(得分:0)
1)如果这是一项Web服务,您可以使用OAuth 2.0 Client Credentials Grant Flow。考虑到安全性,我建议您可以定期维护/更新密钥,密钥的持续时间可以是一年或两年。如果密钥被泄露,则必须生成新密钥,并且必须使用新客户机密密码更新所有授权的应用程序。
2)您可以点击here了解有关如何使用OAuth 2.0进行身份验证的详细信息。在服务到服务访问令牌响应中,您将获得expires_in(访问令牌有效的时间长度)和expires_on(访问令牌到期的时间)信息。您应编写代码以预测授予的令牌可能不再起作用并请求新令牌的可能性。