我正在使用Ember 2.3和Ember Simple Auth 1.0,我想知道是否有人对处理以下情况的最佳方法有任何建议:
对于我的平台所服务的特定行业,大多数员工实际上是独立承包商,因此可能属于多个业务。话虽如此,我有一些具体的要求,我正在努力解决:
为实现这一目标,我的初始实现基于为每个用户帐户发布一个JWT(使用ember-simple-auth-token
)。建议的认证流程如下:
当系统返回多个令牌时该怎么办才有问题:
如果还有什么我应该考虑的,我会很感激反馈。如果你碰巧认为这是一种可怕的方法并有一些反馈,我绝对会喜欢它。
干杯。
答案 0 :(得分:3)
从ESA的角度来看,当后端用一个或多个令牌响应时,用户将被验证(当然,您必须实现自定义验证器和授权器)。会话实际上包含多个帐户的多个令牌这一事实与ESA无关 - 这将是......您需要在应用程序代码中处理。
使用一个或多个令牌对会话进行身份验证后,您可以通过会话的data.authenticated
属性访问它们,例如this.get('session.data.authenticated.tokens')
等。您可以在会话的非验证区域中存储用户想要使用的当前活动帐户,例如this.get('session.data').set('activeToken', 'whatever')
。