0

我有 App1 和 App2,使用 IdentityServer3 和 Active Directory 进行 SSO。

每个应用程序都有自己的用户和角色。我创建了一个 ClaimsTransformation OWIN 中间件,获取用户/角色,序列化为 cookie,然后返回后续调用。效果很好。

但是我在哪里处理初始用户注册?我不能在身份验证中这样做,因为如果 App1 用户登录,然后以新用户身份进入 App2,他将跳过身份验证。

如果我在中间件中执行此操作,当我尝试将用户重定向到注册/个人资料页面时,该重定向会再次被中间件命中,从而导致重定向循环。

有什么建议么?谢谢。

4

1 回答 1

0

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

app.UseOpenIdConnectAuthentication(new OpenIdConnectAuthenticationOption
  {
     SignInAsAuthenticationType = "Cookies",
     Notifications = new OpenIdConnectAuthenticationNotification 
     {
         SecurityTokenValidated = n => { ... }
于 2016-09-19T22:37:28.177 回答