使用thinktecture

时间:2016-03-11 06:57:28

标签: asp.net angularjs thinktecture-ident-server

我正在使用angularJs,aspnet和thinktecture创建单页面应用程序。我已经在thinktecture中创建了一个登录屏幕(作为localhost:44304)以供客户登录,并且在成功登录后,它会重定向到客户门户网站,如https://localhost:44302

当我运行客户应用程序时,它会重定向到thinktecture登录屏幕,登录成功后,它会回到客户门户网站。

现在的问题是,任何客户都可以使用放置在客户门户网站上的注册页面来注册请求,我们正在从thinktecture登录屏幕重定向它,如图所示 enter image description here

当我点击“此处”链接时,再次重定向我同一个登录屏幕。

我在startup.cs中添加了以下代码,供客户使用。

System.Threading.Thread.CurrentThread.CurrentCulture = new CultureInfo(“en-us”);

        app.UseCookieAuthentication(new CookieAuthenticationOptions
        {
            AuthenticationType = "Cookies"
        });

        string thinkTectureUrl = ConfigurationManager.AppSettings["ThinkTectureUrl"].ToString();
        string loginSuccessUrl = ConfigurationManager.AppSettings["LoginSuccessUrl"].ToString();
        string clientSecret = ConfigurationManager.AppSettings["ClientSecret"].ToString();

        app.UseOpenIdConnectAuthentication(new OpenIdConnectAuthenticationOptions()
        {
            ClientId = "Provista.CustomerPortal.WebApp.External",
            Authority = thinkTectureUrl,
            RedirectUri = loginSuccessUrl,
            ResponseType = "id_token",
            Scope = "openid email",
            SignInAsAuthenticationType = "Cookies",
            ClientSecret = clientSecret.Sha256()
        });

我在谷歌和stackoverflow上搜索了很多,但没有得到一个可靠的链接,帮助我解决这个问题。 如果有任何想法,请尽快回复。

1 个答案:

答案 0 :(得分:0)

您可能拥有全局授权过滤器,可将未经身份验证的用户重定向到身份服务器。可能在Global.asax

filters.Add(new System.Web.Mvc.AuthorizeAttribute()); 

请求您注册用户控制器'也将由此过滤器处理并重定向到身份服务器。

要覆盖全局过滤器并允许未经身份验证的用户使用注册用户控制器,请使用“注册用户控制器”中的 [AllowAnonymous] 属性。