具有自己的身份验证的多个客户端,一个IdentityServer?

时间:2019-08-27 13:31:50

标签: asp.net-core oauth jwt single-page-application identityserver4

我有两个不同的SPA客户A和B。 A和B的用户来自不同的来源,A的用户经过外部身份验证,B的用户来自AzureAD。

他们都使用IdentityServer进行身份验证并获得具有不同声明的JWT。

两个客户端都应该能够使用相同的API服务。 API服务具有要求特定声明将具有的策略。不同的策略适用于不同的API。

因此,客户端A的用户可以访问某些API,而客户端B的用户可以访问其他API(最终可能是一些常见的API)。

但是,如果先登录到客户端A,然后再登录到客户端B,则它们已经在IdSrv上设置了auth cookie,因此Authorize端点只是将它们通过客户端A的身份验证发送回JWT。

我可以让不同的客户端对IdentityServer使用不同的身份验证cookie吗?

基本上,我希望单个IdSrv实例充当两个不同的实例。

我可以有两个域(a.idsrv.example.com和b.idsrv.example.com)指向同一服务(idsrv.example.com)并获得cookie隔离,但是还有其他方法吗?

0 个答案:

没有答案