有没有办法允许某些用户(可能具有admin角色和适当的权限)将 React 应用程序作为另一个用户进行身份验证?
用例将允许支持人员以其他用户身份进行身份验证,以查看他们看到的应用程序,并调试或帮助用户解决他们的问题。
谢谢!
这是一个很好的问题和一个常见的要求,但不幸的是可能难以实施。最终,尽管这种类型的解决方案总是涉及 API 中的声明和工作。
认证标准
值得关注不断发展的标准,例如On Behalf Of Flow,看看它们是否能提供帮助。但是,它们可能不符合您的要求或尚未得到您的供应商的支持。
验证
支持用户“以业务用户身份登录”并不正确,因为用户始终使用自己的凭据登录。在正常情况下,这可能需要包含这些声明的访问令牌,并且用户只能在其令牌包含此范围时进行订单更改:
冒充
在模拟情况下,支持人员将使用他们自己的凭据登录,然后可能会收到带有这些声明的访问令牌。您也许可以使用这些声明来仅允许支持用户执行某些操作:
理想情况下,最好在身份验证/令牌颁发时用“can_impersonate”声明提示用户。这将涉及弹出一个屏幕,可以在其中输入业务用户,然后将其包含在访问令牌中并进行审核。
可扩展性
通常,尽管这需要自定义身份验证操作,但更高级的身份验证情况通常需要此操作。如果您的提供商不支持此功能,那么您可能需要在您的应用程序中做更多的工作,例如: