我必须设计一个本机移动应用程序,该应用程序使用过期时间为2分钟的Access token
。该应用程序维护一个计时器,并在后台每 2 分钟要求新access token
。我觉得这种设计在服务器和应用程序之间引入了保持 2 分钟时间的紧密耦合。在理想情况下,维护access token
的使用寿命不应该是应用程序的责任。我在设计中遗漏了什么吗?有没有在使用OAuth
时指定应用程序和服务器之间通信的教程?
不应在应用程序中硬编码访问令牌超时。您可以在/token
终结点的expiresIn
响应属性中获取它。有关详细信息,请参阅 OAuth2 RFC。
正如 Paulw11 所提到的,没有必要主动刷新访问令牌。您可以设计 HTTP 客户端,将令牌(访问令牌和刷新令牌)和访问令牌过期时间作为参数,并在使用访问令牌之前根据需要刷新访问令牌。
我不确定您所说的"应用程序和服务器之间的通信"是什么意思,但是有一个关于本机应用程序的OAuth2的RFC。