出于支持目的使用 OAuth and/or Auth0 将 Web 应用验证为另一个用户
Authenticate web app as another user for support purposes using OAuth and/or Auth0
是否有任何方法允许某些用户(可能具有 admin
角色和适当的权限)将 React 应用程序作为另一个用户进行身份验证?
用例是允许支持人员作为另一个用户进行身份验证,以查看他们看到的应用程序,并调试或帮助用户解决他们的问题。
谢谢!
这是一个很好的问题,也是一个普遍的要求,但遗憾的是可能难以实施。最终,虽然这种类型的解决方案总是在 API 秒内涉及索赔和工作。
OAUTH 标准
值得关注 On Behalf Of Flow 等不断发展的标准,看看它们是否能提供帮助。但是,它们可能无法满足您的要求或尚未得到您的供应商的支持。
身份验证
支持用户 'signing in as a business user' 不太对,因为用户总是使用自己的凭据登录。在正常情况下,这可能需要一个包含这些声明的访问令牌,并且用户只有在他们的令牌包含此范围时才能更改订单:
- 主题:businessUser1
- 角色:客户
- 范围:openid 订单
模仿
在模拟情况下,支持人员将使用自己的凭据登录,然后可能会收到包含这些声明的访问令牌。您也许可以使用这些声明仅允许支持用户执行某些操作:
- 主题:supportUser1
- 作用:支持
- can_impersonate: 真
- 范围:openid 订单
理想情况下,在身份验证/令牌颁发时提示用户 'can_impersonate' 声明会很好。这将涉及弹出一个可以输入业务用户的屏幕,然后将其包含在访问令牌中并进行审核。
可扩展性
虽然这通常需要 custom authentication action,但在更高级的身份验证情况下通常需要它。如果您的提供商不支持此功能,那么您可能需要在您的应用中做更多的工作,例如:
- 登录完成后调用屏幕
- 将业务用户存储在您的 API 数据中
- 也许还会审核您的 API 数据中的模拟事件
2022 年更新
最近在 Curity,我们发表了一些关于模仿的详细文章。任何想要实现此模式的人可能会发现它们很有用:
是否有任何方法允许某些用户(可能具有 admin
角色和适当的权限)将 React 应用程序作为另一个用户进行身份验证?
用例是允许支持人员作为另一个用户进行身份验证,以查看他们看到的应用程序,并调试或帮助用户解决他们的问题。
谢谢!
这是一个很好的问题,也是一个普遍的要求,但遗憾的是可能难以实施。最终,虽然这种类型的解决方案总是在 API 秒内涉及索赔和工作。
OAUTH 标准
值得关注 On Behalf Of Flow 等不断发展的标准,看看它们是否能提供帮助。但是,它们可能无法满足您的要求或尚未得到您的供应商的支持。
身份验证
支持用户 'signing in as a business user' 不太对,因为用户总是使用自己的凭据登录。在正常情况下,这可能需要一个包含这些声明的访问令牌,并且用户只有在他们的令牌包含此范围时才能更改订单:
- 主题:businessUser1
- 角色:客户
- 范围:openid 订单
模仿
在模拟情况下,支持人员将使用自己的凭据登录,然后可能会收到包含这些声明的访问令牌。您也许可以使用这些声明仅允许支持用户执行某些操作:
- 主题:supportUser1
- 作用:支持
- can_impersonate: 真
- 范围:openid 订单
理想情况下,在身份验证/令牌颁发时提示用户 'can_impersonate' 声明会很好。这将涉及弹出一个可以输入业务用户的屏幕,然后将其包含在访问令牌中并进行审核。
可扩展性
虽然这通常需要 custom authentication action,但在更高级的身份验证情况下通常需要它。如果您的提供商不支持此功能,那么您可能需要在您的应用中做更多的工作,例如:
- 登录完成后调用屏幕
- 将业务用户存储在您的 API 数据中
- 也许还会审核您的 API 数据中的模拟事件
2022 年更新
最近在 Curity,我们发表了一些关于模仿的详细文章。任何想要实现此模式的人可能会发现它们很有用: