将经过身份验证的用户转移到SPA,而不强制他们重新输入凭据

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

这是我目前的设置:

  • IdentityServer4
  • API(承载认证)
  • SPA页面(oidc-client隐式流程重定向到IdentityServer4 Quickstart UI)
  • 本机应用程序(编写i C#)

本机应用程序已具有用户凭据。我想从本机应用程序提供到SPA页面的Web链接,但我不想在导航到Web时强制用户再次登录。相反,我想将他们当前的会话移动到网页。

是否可以将访问令牌“注入”到oidc-client中? (使用url片段)。或者还有其他流程或方法可以使这项工作?

oauth identityserver4 oidc oidc-client-js
1个回答
2
投票

一般来说,答案应该是:你走错了路。 看:您在本机应用程序中使用资源所有者密码流,这是错误的。它不是交互式的,这意味着IdP不仅可以访问凭据。通常,这种流程建议用于测试目的等,而不是一般用途。非交互流程的一个巨大限制是它不会创建用户会话。 If you switch your native app to an interactive flow such as Code flow with PKCE extension,它将创建会话。之后,只要Identity Server的会话cookie处于活动状态,您的其他应用程序就会自动进行身份验证。 注意:如果您不喜欢改进您的架构,您可以随意做任何事情,包括在链接中提供令牌。该令牌对于调用API仍然有效。但这不是隐式流程,您不会有会话,也不会使用静默刷新功能。

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