我正在开发同时使用 .NET Framework 和 .NET Core 的项目,分别使用 ID Server 3/4(当然也分别使用 ID Server 3/4),并且我已经意识到隐式流程及其对 Javascript 客户端的工作方式。我确实注意到它使用 cookie,我认为这就是为什么会发生很多重定向等等。
但事后看来,这让我想知道如果我们当时知道隐式流但不使用 cookie 并且仅依赖会话存储,那么以前的项目是否会更好。那有可能吗?
我正在开发同时使用 .NET Framework 和 .NET Core 的项目,分别使用 ID Server 3/4(当然也分别使用 ID Server 3/4),并且我已经意识到隐式流程及其对 Javascript 客户端的工作方式。我确实注意到它使用 cookie,我认为这就是为什么会发生很多重定向等等。
但事后看来,这让我想知道如果我们当时知道隐式流但不使用 cookie 并且仅依赖会话存储,那么以前的项目是否会更好。那有可能吗?
使用隐式流程并不意味着您被迫使用 cookie 来存储用户数据/令牌。
是的,对于隐式客户端,您可以将令牌存储在会话存储中。这是oidc-client等流行客户端库的默认设置。
请注意,使用这种方法,用户数据和令牌对浏览器、用户和您站点中运行的任何其他 JS 都是可见的。