0

我有App1和App2,使用IdentityServer3与Active Directory进行SSO。在SSO情况下处理应用程序初始化的位置?

每个应用都有自己的用户和角色。我创建了一个ClaimsTransformation OWIN中间件,获取用户/角色,序列化到cookie中,然后恢复后续调用。这很好。

但我在哪里处理初始用户注册?我无法在身份验证中执行此操作,因为如果App1用户登录,然后以新身份登录到App2,他将跳过身份验证。

如果我在中间件中这样做,当我尝试将用户重定向到注册/概要文件页面时,该重定向又被中间件命中,导致重定向循环。

有什么建议吗?谢谢。

回答

0

没关系,这一切都是错误的。对于使用Owin.Security.OpenIdConnect的.NET,App初始化应该在SecurityTokenValidated中完成。跳过身份验证问题是因为我没有设置cookie名称。

app.UseOpenIdConnectAuthentication(new OpenIdConnectAuthenticationOption 
    { 
    SignInAsAuthenticationType = "Cookies", 
    Notifications = new OpenIdConnectAuthenticationNotification 
    { 
     SecurityTokenValidated = n => { ... } 
相关问题