0

我有两个关于令牌使用及其到期的问题:

1) 关于用户申请密码

我需要密码才能进行身份验证。在应用程序中创建密码时,可以定义有效期为一年或两年。我的目标是用户安装、设置并且可以“忘记”的应用程序。但是这个到期可能意味着应用程序将在一年后开始失败,对吗?用户将开始收到令牌错误,他将不得不再次重新设置应用程序(生成新的密钥并使用它进行身份验证)。我可以从密钥中找出到期时间,以便在用户到期之前为用户设置通知吗?我想这样做是为了避免应用程序突然停止工作。

2)客户端认证分两步完成:

  • 一:app客户端id+客户端秘钥+来源+用户认证=代码
  • 二:app客户端id+客户端秘钥+code=token+刷新token

我发现如果我执行第一步并且我想稍后执行第二步,那么第一步中的“代码”可能会过期。我认为“代码”不会过期,但我找不到任何关于它的文档。这是正确的,第二步应该在第一步之后立即完成吗?

4

1 回答 1

0

1) 如果这是一项网络服务,您可以使用 OAuth 2.0 Client Credentials Grant Flow 。出于安全考虑,我建议您可以定期维护/更新密钥,密钥的持续时间可以是一年或两年。如果密钥被泄露,则必须生成一个新密钥,并且必须使用新的客户端密钥更新所有授权的应用程序。

2) 您可以点击这里了解如何使用 OAuth 2.0 进行身份验证。在 Service-to-Service 访问令牌响应中,您将获得 expires_in(访问令牌有效期多久)和 expires_on(访问令牌过期时间)信息。您应该编写代码来预测授予的令牌可能不再起作用并请求新令牌的可能性。

于 2016-02-18T03:28:25.893 回答