用于长期运行任务的访问令牌

问题描述 投票:0回答:1

假设是这个

前端应用程序使用隐式流请求身份验证,并且用户已登录。该应用程序为用户提供了创建任务/任务的功能,该任务/任务应在将来的预定时间代表用户执行许多操作。这也可能是一项耗时数小时(甚至数天)的长期任务。前端应用程序具有自己的客户端ID(具有隐式流),而执行计划任务的服务具有单独的客户端ID(和秘密)。

问题:

  • 前端应用程序应将什么传递给计划任务,以便执行计划任务的服务可以作为原始用户进行身份验证?

  • 假定该任务应使用刷新令牌运行,以便它可以在需要时获取新的访问令牌,那么首先如何获得刷新令牌?前端应用程序无法传递第一个,因为隐式流中不支持刷新令牌,即使已支持刷新令牌,也会将其发布给错误的客户端。

identityserver4 openid-connect refresh-token
1个回答
0
投票

一个好主意是看一下代表团。通过这种概念,您的服务可以检索一个新的令牌,该令牌将自己标识为用户,但具有标识该服务的特殊“行为”声明。https://tools.ietf.org/html/draft-ietf-oauth-token-exchange-16

身份服务器在版本4中不再具有此默认值,但是那里有一些有关如何重新添加它的示例。这种情况非常简单,因为您已经说过您可以信任自己的服务,因此您真正需要的就是告诉IdentityServer允许clientid模仿任何人这是一个示例https://www.daimto.com/identity-server-4-user-delegation/

© www.soinside.com 2019 - 2024. All rights reserved.