我一直在阅读IdentityServer4,我的理解是(在高级别)一旦设置了IdentityServer4,注册的客户端就可以对已定义的API资源进行API调用(如果客户端已被授予该访问权限)。 使用C#,我可以: 1.从IdentityServer4请求访问令牌,然后, 2.将此令牌与我的请求一起传递给API。 我的问题是,由于令牌具有已定义的生命周期,比如3600秒,说客户端是否需要在本地存储此令牌并在3600秒内将其用于所有API调用是否正确?如果是这样,这将意味着客户端应该以某种方式知道令牌何时到期。这将如何实现? 我的另一个问题是如何刷新'代币工作。他们什么时候开始“踢”'在整个过程中。
由于
答案 0 :(得分:1)
长话短说,由客户负责更新它使用的令牌。这可以基于已知的到期时间(带有一点缓冲区),但OAuth还定义了来自API端点的标准错误响应,这些响应可以向客户端指示需要新令牌。客户应尊重这些并采取相应行动。 这取决于所使用的授权类型。例如。使用客户端凭证虽然可能不是最有效的,但是可能希望为每个呼叫或“会话”(即,与处理给定任务相关的多个呼叫)获得新令牌以避免这种复杂性。