所以你不想使用Session,因为它不利于REST(这太好了!)但你不希望客户端应用程序在请求中向你发送institutionId。。。这是一个逻辑问题。我是说好好想想。
如果由于您不使用会话而不在请求中,客户端应用程序如何向您提供信息?它必须包含在每个请求中。
这并不是“对bandwitch的可怕浪费”,你的机构ID不是2Go信息,所以。。。
只需使用JWT,将institutionId存储在内部,就像每次客户端尝试访问控制器中的方法时一样,“授权”属性将检查他是否获得了访问权限,即使他有多个应用程序实例,它也会非常有效,因为每次请求时,JWT都会提供institutionId:)
如果您不希望用户每次在另一个机构中打开应用程序时都登录,只需让客户端应用程序在令牌中写入institutionId即可。所以他使用ClientApp 1登录,你给他一个没有institutionId的令牌,但当ClientApp 1打电话时,它会在令牌中写下institutionId,这样,您可以检查访问权限,如果客户端打开ClientApp 2,您将自动提供您提供给ClientApp 1的令牌(因此没有institutionId的令牌),ClientApp 2将覆盖institutionId并向您发送与ClientApp 2相关的institutionId。