对于使用.NET Core和Identity Server 4的Web应用程序,我已经具有此结构
my-application.com <-> my-idsrv.com <-> salesforce login
my-application现在具有“ jwt_access”令牌,可用于对my-application.com的后端进行身份验证
.AddIdentityServerAuthentication(options =>
{
options.TokenRetriever = (request) =>
{
return request.Cookies["jwt_access"];
};
})
然后在控制器中
[Route("rest/my-controller")]
[Authorize]
public class NormalFlowController : Controller
现在,我想添加一个具有特定管理员功能的管理员用户。管理员将与普通用户无关。在一个浏览器中,某人可以同时登录管理面板和常规流程
我的想法是添加另一种身份验证方案,该方案将重定向到my-idsrv.com,在该处将要求他们提供用户名/密码组合
我的问题是:
1 /如何标记控制器以检查用户是否通过特定方案(管理员或普通身份验证)进行了认证
2 /如何保持两个单独的“会话”,即只有一个后端应用程序和一个身份服务器